我用JUnit5编写了一个动态测试JUnit5,现在我看到我不能为动态测试做@Before,这指的是JUnit 5用户指南-编写测试注释。
是否有任何解决办法可以执行@Before或类似于TestFactory之前的操作?
方法,因为它只是初始化内容,所以我想放入一个@Before:
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();
}解决方案:
在动态测试中使用@BeforeAll / @AfterAll是可能的。提及改进DynamicTest生命周期文档
动态测试生命周期 动态测试的执行生命周期与标准
@Test案例的执行生命周期非常不同。具体来说,动态测试没有任何生命周期回调。这意味着@BeforeEach和@AfterEach方法及其相应的扩展回调不会在动态测试中执行。换句话说,如果您为动态测试从lambda表达式中的测试实例中访问字段,那么这些字段将不会被回调方法或由同一@TestFactory方法生成的动态测试执行之间的扩展重置。
发布于 2017-03-30 13:46:29
在动态测试中使用@BeforeAll / @AfterAll是可能的。提及改进DynamicTest生命周期文档
动态测试生命周期 动态测试的执行生命周期与标准@测试用例的执行生命周期非常不同。具体来说,动态测试没有任何生命周期回调。这意味着在动态测试中不执行@BeforeEach和@AfterEach方法及其相应的扩展回调。换句话说,如果您为动态测试从lambda表达式中的测试实例访问字段,那么在执行由同一@TestFactory方法生成的动态测试之间,回调方法或扩展将不会重置这些字段。
发布于 2019-08-26 14:15:28
https://stackoverflow.com/questions/43111150
复制相似问题