JUnit多次运行测试

我确定我会错过一些

我的单元测试不合格,想知道为什么。我发现测试执行了400次。为了找出导致测试执行多次的原因,我将代码简化为以下内容:

package reproduce;

import org.junit.After;
import org.junit.Test;
import static org.junit.experimental.results.PrintableResult.testResult;

public class FailingTest
{
    static int objCount = 0;

    public FailingTest()
    {
        objCount++;
    }

    @Test
    public void test()
    {
        System.out.println(objCount);
    }

    @After
    public void tearDown()
    {
        testResult(FailingTest.class); // comment this to run only once
    }
}

在我的tearDown()方法中,我试图找出测试结果,因为我的清理操作可能要花费几分钟,所以我只想在失败的情况下进行清理,而在成功的情况下不希望进行清理。

我发现在验证程序规则testResult()in代码中使用了代码,并认为这对我很有用,但是如果我的测试运行频率达到400倍,则不会有用。

这是实验性PrintableResult的错误,是我做错了什么,还是有另一种/更轻松的方式来实现预期的结果?

波姆金

参见Junit PrintableResult源testTest里面,似乎您的测试再次执行,所以它是递归调用。有关获取测试结果的一些有用信息,请参见此处

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章