重复JUnit3测试

时间:2012-02-08 01:36:25

标签: junit junit4 junit3

我正在使用Apache的Surefire JUnit插件为maven。

我想在JUnit 3.x中重新运行一个测试套件。这在JUnit 4中很容易实现,它提供了“参数化”注释。

你知道我如何在JUnit 3.x中做同样的事情吗?

我的目标是运行整套测试两次,以便将两种不同的测试数据接种到所有测试中。

1 个答案:

答案 0 :(得分:3)

在JUnit 3.x中,您可以定义自己的测试套件。如果你添加

public static Test suite() 
除了JUnit之外,

JUnit类的方法将运行返回变量中定义的所有方法。您可以查看JUnit and junit.framework.TestSuite - No runnable methods(问题)或http://junit.org/apidocs/junit/framework/TestSuite.html

您也可以这样做:

public static Test suite() {
    TestSuite suite = new TestSuite(YouTestClass.class);
    suite.addTest(new TestSuite(YouTestClass.class)); //you want to run all twice
    // suite.addTest(new YouTestClass("foo", 0);
    // for (int i = 0; i < TEST_SETALL.length; i++) {
    // suite.addTest(new YouTestClass("setAllTest",i ));
    // }

    Test setup = new TestSetup(suite) {
        protected void setUp() throws Exception {
            // do your one time set-up here!
        }

        protected void tearDown() throws Exception {
            // do your one time tear down here!
        }
    };

    return setup;
}