几个JUnit测试类的相同参数

时间:2014-01-24 16:22:42

标签: junit junit4 parameterized

我有多个参数化测试类,它们采用完全相同的参数。当我运行测试时,每个人都调用它的data()方法,该方法返回测试执行的参数。

我的问题是我的所有data()方法都是相同的并创建了相同的参数,我无法弄清楚如何删除这些重复的代码。

目标是让一个函数计算所有测试类的参数。

如果你知道如何做到这一点会对我有所帮助。

由于

1 个答案:

答案 0 :(得分:1)

另外,我会说你有两个经典的OO选项 - 继承和包含。

使用继承,您只需将data()方法放在某个基类中:

public class MyTestCaseBase {
    @Parameters
    public static Collection<Object[]> data() {
        return ...
    }
}

public class MyTest extends MyTestCaseBase {
    // tests
}

包含你可以选择扩展不同的类,但需要自己做一些“管道”:

public class MyTestParameters {
    public static Collection<Object[]> data() {
        return ...
    }
}

public class MyTest {
    @Parameters
    public static Collection<Object[]> data() {
        return MyTestParameters.data();
    }

    // tests...
}