gpt4 book ai didi

java - 我可以在运行时添加一个 junit 测试用例吗?

转载 作者:搜寻专家 更新时间:2023-11-01 02:28:39 24 4
gpt4 key购买 nike

我有一个测试程序需要测试很多 xml 模板。

但我发现我必须为每个 xml 模板编写一个测试用例。

junit有没有这样一种机制,我可以在一个测试用例中产生另一个测试用例?

最佳答案

您可以使用 @Parameterized .这会给你你想要的。这是一个简单的例子,对单个目录中的所有文件运行测试:

@RunWith(Parameterized.class)
public class ParameterizedTest {
@Parameters(name = "{index}: file {0}")
public static Iterable<Object[]> data() {
File[] files = new File("/temp").listFiles();

List<Object[]> objects = new ArrayList<Object[]>(files.length);

for (File file : files) {
objects.add(new Object[] { file.getAbsolutePath() });
}

return objects;
}

private final String filename;

public ParameterizedTest(String filename) {
this.filename = filename;
}

@Test
public void test() {
System.out.println("test filename=" + filename);
}
}

文件中的每个测试针对 data() 返回的列表中的每个条目运行一次。您显然可以对文件做您想做的事,但是如果您正在动态构建测试列表,那么您还需要有一些方法来构建通过/失败标准。因此,如果您要将大量 xml 转换为其他 xml,那么您还需要可用的生成的 xml,可能位于不同的目录中或具有不同的(但可预测的)名称。

关于java - 我可以在运行时添加一个 junit 测试用例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15018257/

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