Java 测试工厂注释之前的JUnit5
我已经在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();
@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方法生成的动态测试之间,回调方法或扩展不会重置这些字段
使用
@之前
或@之后
是一种动态测试
有,但是开发者似乎还没有决定如何做
我自己已经决定暂时手动调用我的设置方法,这很难看。您应该使用您的解决方案来回答您自己的问题。(是的,这是可能的,而且完全正确。)您可能还想指出,这可能会改变动态测试在生命周期中的集成。