gpt4 book ai didi

java - 使用不同的数据运行 JUnit 测试

转载 作者:行者123 更新时间:2023-11-28 21:05:27 24 4
gpt4 key购买 nike

我有一套单元测试。我有一个在 setup() 方法中初始化的静态变量。我想使用该静态变量的两个不同值来运行我的所有单元测试套件。

setup() 中的静态变量被初始化为一个单例对象。所以,我不能(我想我不能)使用 JUnit 参数化测试。

我必须用该静态变量的一个值运行所有测试,然后用静态变量的另一个值运行所有测试。

如果可能的话,关于如何以优雅的方式做到这一点的任何想法。

如果我上面的描述不是很容易理解,请看下面的代码

public class MyClassTest{
private static final Dep_class dep_obj;

public static void setup(){
dep_obj = Dep_class.getInstance("VALUE_1");
//You can have only instance of Dep_class at any time.
//So for second run I need to do a
//dep_obj = Dep_class.getInstance("VALUE_2") and run my tests.
}

public void test_mymethod(){
//do something with dep_obj
}

最佳答案

试试这个

@RunWith(Parameterized.class)
public class MyClassTest {
private Object dep_obj;

public MyClassTest(String val) {
dep_obj = val;
}

@Parameters
public static Collection<?> data() {
Object[][] data = { { "val1" }, { "val2" }, { "val3" } };
return Arrays.asList(data);
}

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

关于java - 使用不同的数据运行 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com