请支持我理解和混淆何时使用
@IncludeEngines
以及何时在JUnit 5中使用@ExtendWith
。
如果这个问题太基础,请道歉。
提前谢谢。
答案 0 :(得分:1)
@ExtendWith
用于注册自定义extensions
就JUnit4构造而言:@RunWith
,@Rule
和@ClassRule
都已被@ExtendWith
取代。虽然JUnit 5确实保留了limited support for rules,但JUnit团队的强烈建议是转向使用@ExtendWith
。
有一些常见的JUnit4规则重新实现为JUnit5扩展here。
@IncludeEngines
指定在JUnit平台上运行测试套件时要包含的org.junit.platform.engine.TestEngine
实现。虽然这是org.junit.platform.suite.api
,因此可供开发人员使用,但我无法想到您需要使用它的任何情况。它可用于接合特定的引擎,例如老式引擎而不是JupiterTestEngine
,但这意味着需要在JUnit4环境中运行测试,这可以使用@RunWith(JUnitPlatform.class)
来实现。
您认为是否需要使用@IncludeEngines
?如果是这样,我建议您解释为什么您认为需要使用它,并且您可能会发现还有其他方法可以使用JUnit5,而不需要使用@IncludeEngines
。