2023-05-03 11:06:20 +02:00
== Why is this an issue?
2020-06-30 12:47:33 +02:00
When a test fails due, for example, to infrastructure issues, you might want to ignore it temporarily. But without some kind of notation about why the test is being ignored, it may never be reactivated. Such tests are difficult to address without comprehensive knowledge of the project, and end up polluting their projects.
2021-02-02 15:02:10 +01:00
2020-06-30 12:47:33 +02:00
This rule raises an issue for each ignored test that does not have any comment about why it is being skipped.
2020-06-30 14:49:38 +02:00
2020-06-30 12:47:33 +02:00
* For Junit4, this rule targets the @Ignore annotation.
* For Junit5, this rule targets the @Disabled annotation.
* Cases where assumeTrue(false) or assumeFalse(true) are used to skip tests are targeted as well.
2023-05-03 11:06:20 +02:00
=== Noncompliant code example
2020-06-30 12:47:33 +02:00
2022-02-04 17:28:24 +01:00
[source,java]
2020-06-30 12:47:33 +02:00
----
@Ignore // Noncompliant
@Test
public void testDoTheThing() {
// ...
----
or
2020-06-30 14:49:38 +02:00
2022-02-04 17:28:24 +01:00
[source,java]
2020-06-30 12:47:33 +02:00
----
@Test
public void testDoTheThing() {
Assume.assumeFalse(true); // Noncompliant
// ...
----
2023-05-03 11:06:20 +02:00
=== Compliant solution
2020-06-30 12:47:33 +02:00
2022-02-04 17:28:24 +01:00
[source,java]
2020-06-30 12:47:33 +02:00
----
@Test
@Ignore("See Ticket #1234")
public void testDoTheThing() {
// ...
----
2021-06-02 20:44:38 +02:00
2021-06-03 09:05:38 +02:00
ifdef::env-github,rspecator-view[]
2021-09-20 15:38:42 +02:00
'''
== Implementation Specification
(visible only on this page)
include::message.adoc[]
include::highlighting.adoc[]
2021-06-08 15:52:13 +02:00
'''
2021-06-02 20:44:38 +02:00
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
2021-06-03 09:05:38 +02:00
endif::env-github,rspecator-view[]