gpt4 book ai didi

java - 在 JUnit 4 中使用不同的 @BeforeClass 设置多次运行测试用例

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:53:39 29 4
gpt4 key购买 nike

我有一个看起来像这样的测试用例:

public class MyTest {

private static TestObject obj;

@BeforeClass
public static void setUpBeforeClass() {
obj = new TestObject();
}

@Test
public void testOne() {
assertTrue(obj.hasFoo());
}

@Test
public void testTwo() {
assertEquals(42, obj.getBar());
}

// More tests here...

}

我现在要做的是使用不同的 TestObject 实例运行整个测试用例。假设我有 10 个不同的 TestObject 实例。现在我想运行 testOne() testTwo() 等 10 次(对于我需要的每个 TestObject 实例)。

如何使用 JUnit4 实现这一点?还是我的设计不好?有更好的想法吗?

最佳答案

使用parameterized test :

@RunWith(Parameterized.class)
public class MyTest {
public MyTest(TestObject obj) {
this.obj = obj;
}

@Parameters
public static Collection<TestObject> params() { ... }

...
}

关于java - 在 JUnit 4 中使用不同的 @BeforeClass 设置多次运行测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10701408/

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