几个JUnit测试类的相同参数

几个JUnit测试类的相同参数,junit,junit4,parameterized,Junit,Junit4,Parameterized,我有多个参数化测试类使用完全相同的参数。当我运行测试时,每个人都调用其data()方法,该方法返回测试执行的参数 我的问题是我所有的data()方法都是相同的,并且创建了相同的参数,我不知道如何删除重复的代码 目标是有一个单独的函数来计算所有测试类的参数 如果你知道怎么做的话,那会对我有很大帮助 谢谢你,我想说你有两个经典的OO选项——继承和包含 使用继承,您只需将data()方法放在某个基类中: public class MyTestCaseBase { @Parameters

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

我的问题是我所有的
data()
方法都是相同的,并且创建了相同的参数,我不知道如何删除重复的代码

目标是有一个单独的函数来计算所有测试类的参数

如果你知道怎么做的话,那会对我有很大帮助


谢谢你,我想说你有两个经典的OO选项——继承和包含

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

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

public class MyTest extends MyTestCaseBase {
    // tests
}
公共类MyTestCaseBase{
@参数
公共静态收集数据(){
返回。。。
}
}
公共类MyTest扩展了MyTestCaseBase{
//测验
}
通过包含,您可以选择扩展不同的类,但需要自己做更多的“管道”:

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

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

    // tests...
}
公共类MyTestParameters{
公共静态收集数据(){
返回。。。
}
}
公共类MyTest{
@参数
公共静态收集数据(){
返回MyTestParameters.data();
}
//测试。。。
}

谢谢,我考虑过继承,但不知道它是否非常相关。