[ 
https://issues.apache.org/jira/browse/SUREFIRE-1700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17464697#comment-17464697
 ] 

Greg A commented on SUREFIRE-1700:
----------------------------------

I've seen this too with junit 5 & surefire 2.22.2.

NB. only test methods whose name starts "test..." seem to be affected. If your 
test methods have a different name you won't be able to reproduce the issue

> @Disabled is not honored for JUnit5 tests having a single @Test method
> ----------------------------------------------------------------------
>
>                 Key: SUREFIRE-1700
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1700
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Failsafe Plugin, Maven Surefire Plugin
>    Affects Versions: 2.22.2, 3.0.0-M3
>            Reporter: Tony Falabella
>            Assignee: Tibor Digana
>            Priority: Minor
>              Labels: junit5
>         Attachments: surefire-1700.zip
>
>
> 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()
> { assertThat(true).isTrue(); }
> }
>   
> 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:
> [https://intellij-support.jetbrains.com/hc/en-us/community/posts/360006399720-IDEA-2019-2-2-Ultimate-Edition-ignores-Disabled-for-JUnit5-tests-having-a-single-Test-method]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to