JUnit5最终版本即将来临 (当前是M4),我已经开始研究如何编写扩展。
在JUnit5中 ,您没有使用Runners , Rules , ClassRules等,而是只有一个Extension API来实现自己的扩展。
JUnit5提供了多个接口来挂钩其生命周期。 例如,您可以挂钩到“ 测试实例后处理”以在测试实例上调用自定义初始化方法,或者通过“ 参数解析”来在运行时动态解析测试方法参数。 当然,到目前为止,典型的操作如在执行所有测试之前,执行测试之前,执行测试之后进行挂接等等,可以在http://junit.org/junit5/docs/找到完整列表。 当前/用户指南/#extensions-lifecycle-callbacks
但是在每个过程中都在过程的哪一点执行? 为了测试它,我刚刚创建了一个扩展,该扩展实现了所有接口,并且每个方法都会打印出谁。
public class LoggerExtension implements TestInstancePostProcessor, ParameterResolver, BeforeAllCallback,
BeforeEachCallback, BeforeTestExecutionCallback, AfterEachCallback, AfterTestExecutionCal