gpt4 book ai didi

junit - 以编程方式生成 JUnit 4 测试

转载 作者:行者123 更新时间:2023-12-01 09:06:48 25 4
gpt4 key购买 nike

我有一个 JUnit 4 测试,它创建测试数据并断言每个数据的测试条件。如果一切正确,我将进行绿色测试。

如果一个数据没有通过测试,整个测试的执行就会中断。我想对每个数据进行一次 JUnit 测试。是否可以通过编程方式生成 JUnit 测试,以便在我的 IDE 中进行大量测试?

采用这种方法的原因是为了更快地了解哪些测试失败,并在一个数据失败时继续进行剩余的测试。

最佳答案

听起来您想编写一个参数化测试(对不同的数据集进行完全相同的检查)。

Parameterized为此上课。此示例显示了如何使用它:

@RunWith(Parameterized.class)
public class FibonacciTest {
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] {{ 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } });
}

private final int input;
private final int expected;

public FibonacciTest(final int input, final int expected) {
this.input = input;
this. expected = expected;
}

@Test
public void test() {
assertEquals(expected, Fibonacci.compute(input));
}
}

请注意,data() 方法返回要由test() 方法使用的数据。该方法可以从任何地方获取数据(比如与您的测试源一起存储的数据文件)。

此外,没有什么可以阻止您在此类中使用多个 @Test 方法。这提供了一种对同一组参数执行不同测试的简单方法。

关于junit - 以编程方式生成 JUnit 4 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5243137/

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