Java 测试工厂注释之前的JUnit5

Java 测试工厂注释之前的JUnit5,java,dynamic,annotations,junit5,Java,Dynamic,Annotations,Junit5,我已经在JUnit5中编写了一个动态测试@TestFactory,现在我看到我以前不能对动态测试执行>,参考 在之前进行@测试或类似于在TestFactory之前进行的测试,是否有解决方法 我想在之前放入一个@的方法,因为它只是初始化内容: public static void initialize() throws Exception{ buildTest = new XQueryTestHelper(); buildTest.initialization();

我已经在JUnit5中编写了一个动态测试
@TestFactory
,现在我看到我以前不能对动态测试执行
>,参考

之前进行
@测试或类似于在TestFactory之前进行的测试,是否有解决方法

我想在
之前放入一个
@的方法,因为它只是初始化内容:

public static void initialize() throws Exception{
    buildTest = new XQueryTestHelper();
    buildTest.initialization();
    
    listTestSuiteIdentifier = buildTest.getListTestsuiteIdentifier();
    arrayHdrInbPayTestcases = buildTest.getHdrInbPayTestcases();
    arrayHeaderAndBodyTestcases = buildTest.getHeaderAndBodyTestcases();
    listHeaderAndBodyTestSuites = buildTest.getHeaderAndBodyTestSuites();
    listHdrInbPayTestSuites = buildTest.getHdrInbPayTestsuites();
    
}
解决方案:


在动态测试中,可以先使用
@
/
@后使用
@
。指

动态测试生命周期

动态测试的执行生命周期与标准
@test
案例的执行生命周期截然不同。具体来说,动态测试没有任何生命周期回调。这意味着动态测试不会执行每个
方法之前的
和每个方法之后的@及其相应的扩展回调。换句话说,如果您访问lambda表达式中用于动态测试的测试实例中的字段,则在执行相同的
@TestFactory
方法生成的动态测试之间,回调方法或扩展不会重置这些字段


在动态测试中可以使用
@BeforeAll/@AfterAll
。指

动态测试生命周期

动态测试的执行生命周期与标准@testcase的执行生命周期大不相同。具体来说,动态测试没有任何生命周期回调。这意味着动态测试不会执行@beforeach和@AfterEach方法及其相应的扩展回调。换句话说,如果您访问lambda表达式中用于动态测试的测试实例中的字段,那么在执行同一@TestFactory方法生成的动态测试之间,回调方法或扩展不会重置这些字段


使用
@之前
@之后
是一种动态测试

有,但是开发者似乎还没有决定如何做


我自己已经决定暂时手动调用我的设置方法,这很难看。

您应该使用您的解决方案来回答您自己的问题。(是的,这是可能的,而且完全正确。)您可能还想指出,这可能会改变动态测试在生命周期中的集成。