1
我有多个参数化测试类,它们采用完全相同的参数。当我运行测试时,每个人都调用它的data()
方法,该方法返回测试执行的参数。几个JUnit测试类的相同参数
我的问题是,我所有的data()
方法是相同的,并创建相同的参数,我不知道如何删除这个重复的代码。
目标是让一个函数计算所有测试类的参数。
如果你有任何想法如何做,它会帮助我很多。
感谢
我有多个参数化测试类,它们采用完全相同的参数。当我运行测试时,每个人都调用它的data()
方法,该方法返回测试执行的参数。几个JUnit测试类的相同参数
我的问题是,我所有的data()
方法是相同的,并创建相同的参数,我不知道如何删除这个重复的代码。
目标是让一个函数计算所有测试类的参数。
如果你有任何想法如何做,它会帮助我很多。
感谢
随口说说,我说你有两个经典的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...
}
谢谢,我想过继承,但不知道它是否非常相关。 – zelus