gpt4 book ai didi

java - JUnit - 参数化测试 - 多个构造函数调用

转载 作者:行者123 更新时间:2023-12-02 04:55:32 26 4
gpt4 key购买 nike

我有一个文本文件列表。我无法将它们全部加载在一起,因此我构建了一个参数化测试,其中仅对某些文件进行测试(test1:file1...file5,test2:file6...file10,...)。文件在类的构造函数中加载。加载的文件范围取决于参数。我在类中有不同的测试方法(下面描述问题的代码)。

问题:为类的每个测试方法单独调用构造函数。这意味着:通过 10 个方法进行测试,对于每个要测试的文件范围调用构造函数 10 次。结果:文件通过构造函数调用在每个测试用例中加载 10 次。

该问题有任何解释或解决方案吗?

@RunWith(Parameterized.class)   
public class PageListTest {

private int fileFrom, fileTo;

@Parameters
public static Collection<Object[]> data() {
Object[][] data = new Object[][] {{0, 3}, {22, 24}};
return Arrays.asList(data);
}

public PageListTest(int from, int to) throws Exception {
fileFrom = from;
fileTo = to;
//files are loaded ....
}

@Test
public void testA() {
//....
}

@Test
public void testB() {
//....
}

//....
}

提前致谢。

PS:当然,我可以通过调用所有方法来测试一个“as TEST”声明的方法来解决问题。但我想要一个更好的解决方案。

最佳答案

说明:这就是 JUnit 的工作原理。有a new class instance for each test .

创建文件编号到文件内容的静态映射。在您的构造函数中,测试您是否已加载该文件。如果没有,请加载它。如果是,请跳过!

关于java - JUnit - 参数化测试 - 多个构造函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28807112/

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