Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Works for Me
-
2.22.2, 3.0.0-M3
-
None
Description
JUnit5's @Disabled should ignore/skip running any test method with that annotation. It seems however that if there is a single @Test method with @Disabled that test method will still be run.
Similar issue noted on StackOverflow: https://stackoverflow.com/questions/52602351/junit-5-disabled-is-ignored
Sample class:
package xxx;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = XyzBoot.class)
public class MyTest {
@Test
@Disabled
public void testSomething()
}
Sample pom.xml (this is a multi-module pom that also has child modules of a parent). The test above is in a child project.
<build>
<plugins>
<plugin>
<!-- ======================================== -->
<!-- Runs UNIT tests (not INTEGRATION tests). -->
<!-- ======================================== -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<!-- Junit5 need 2.22.0 or newer: https://issues.apache.org/jira/browse/SUREFIRE-1330 -->
<version>2.22.0</version>
...
</plugin>
<dependencies>
...
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<!-- don't force child-projects to use our libs so set it to compile scope -->
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<!-- this is needed or IntelliJ gives junit.jar or junit-platform-launcher:1.3.2 not found errors -->
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<!-- this is needed or IntelliJ can't run from Run/Debug configs where you pick "JUnit" as the type -->
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Note that I've also tried this both with{{ junit-vintage-engine}} and without it (not sure if it would matter) and the issue still happens.
This is affecting IntelliJ as well as noted here: