如果我导入org.junit.Test
,然后在运行JUnit时,将出现错误消息“未使用Test Runner JUnit 5找到测试”。
相反,如果我导入org.junit.jupiter.api.Test
,则可以运行JUnit测试。
答案 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