导入org.junit.Test引发错误,因为“未使用测试运行器“ JUnit 5”找到测试”

时间:2019-03-06 07:04:05

标签: java junit mockito junit5

如果我导入org.junit.Test,然后在运行JUnit时,将出现错误消息“未使用Test Runner JUnit 5找到测试”。

相反,如果我导入org.junit.jupiter.api.Test,则可以运行JUnit测试。

1 个答案:

答案 0 :(得分:1)

org.junit.Test是JUnit 4注释。 Junit5测试运行程序不会发现带有org.junit.Test注释的测试。

Junit5测试运行器 将发现带有org.junit.jupiter.api.Test注释的测试。

因此,这解释了为什么在尝试运行不包含任何用org.junit.jupiter.api.Test注释的测试的测试上下文时,得到“ 使用Test Runner JUnit 5未找到测试”的原因。

听起来像,您可能正在从Junit4迁移到Junit5。如果是这样,您将需要进行一些更改。 Junit5 docs提供了一些有用的提示,包括:

  

注释位于org.junit.jupiter.api包中。

     

断言驻留在org.junit.jupiter.api.Assertions中。

     

假设位于org.junit.jupiter.api.Assumptions中。

     

@Before@After不再存在;使用@BeforeEach@AfterEach   代替。

     

@BeforeClass@AfterClass不再存在;使用@BeforeAll并   改为@AfterAll

     

@Ignore不再存在:使用@Disabled或其他内置功能之一   执行条件代替

     

@Category不再存在;改用@Tag

     

@RunWith不再存在;被@ExtendWith取代。

     

@Rule@ClassRule不再存在;被@ExtendWith取代,并且   @RegisterExtension