【发布时间】:2021-08-17 23:57:21
【问题描述】:
@RegisterExtension 的文档提到了有关注入实例的内容:
扩展将在测试类被实例化后注册,毕竟
TestInstancePostProcessors 有机会对测试实例进行后处理 (可能将要使用的扩展实例注入到带注释的字段中)。
JUnit 中是否有任何后处理器可以自动为扩展执行此操作,或者这只是在谈论人们将来可能构建的东西?
在我们的例子中,我发现我们的许多扩展都是这样的:
@RegisterExtension
public final TempFolderExtension temp = new TempFolderExtension();
@RegisterExtension
public final SomeFactoryExtension factory = new SomeFactoryExtension(temp);
像 PicoContainer 这样的容器可以自动找出如何构造实例。
如果我们能写,那就太好了,
@RegisterExtension
public TempFolderExtension temp;
@RegisterExtension
public SomeFactoryExtension factory;
注释处理器或运行时注入器都可以填充其余部分。
这种扩展之间的依赖关系也会影响它们应该运行的顺序。
【问题讨论】:
标签: java junit5 junit5-extension-model