首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JUnit 5在TestFactory注释之前

JUnit 5在TestFactory注释之前
EN

Stack Overflow用户
提问于 2017-03-30 07:24:25
回答 2查看 1.4K关注 0票数 3

我用JUnit5编写了一个动态测试JUnit5,现在我看到我不能为动态测试做@Before,这指的是JUnit 5用户指南-编写测试注释

是否有任何解决办法可以执行@Before或类似于TestFactory之前的操作?

方法,因为它只是初始化内容,所以我想放入一个@Before

代码语言:javascript
复制
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方法生成的动态测试执行之间的扩展重置。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-30 13:46:29

在动态测试中使用@BeforeAll / @AfterAll是可能的。提及改进DynamicTest生命周期文档

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

票数 5
EN

Stack Overflow用户

发布于 2019-08-26 14:15:28

在动态测试中使用@BeforeAll@AfterAll(但)可能

虽然有为落实这一目标所作的努力,但是开发人员似乎还没有决定如何进行。

我自己已经决定暂时手动调用我的安装方法,这是非常丑陋的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43111150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档