java - 当输入来自多个文件时如何使用参数化 junit?

标签 java file testing junit parameterized

我曾经使用Parameterized junit。

我有两个文件,每个文件都有一个长列表。

file_a
file_b

我将两个大列表加载到内存中,并在不同的测试中比较了每一行。

不幸的是,列表变得太大了,在保存到文件之前,我遇到了内存问题,无法将其解析为 json。

这就是为什么我将每个长列表拆分为较小的文件。说

file_a_1
file_a_2
file_a_3

file_b_1
file_b_2
file_b_3

当每个列表分发到几个文件时,我如何仍然使用 parameterized junit infra 和语法来比较每个相应的列表项?

我试过:

 @Test
    public void compareNewResponseToBaselineReturnsNoLargeDifferences() throws IOException {

        E2EResultShort baseLineList = routingResponseShortRepository.getBaseLine(chunkId);
        E2EResultShort freshRunList = routingResponseShortRepository.getLatestResponse(chunkId);


??? how do I iterate over differet `i` for each test ??

        List<String> testFailureMessages = alternativeShortTotalChecker.checkAllAlternativesShort(baseLine.get(i), freshRun.get(i));
        assertThat("testFailureMessages should be empty", String.join("", testFailureMessages), equalTo(""));
        assertThat("error messages should be null", freshRoutingResponse.regression_error, is(nullValue()));
    }

最佳答案

不幸的是你不能,因为 Parameterized 运行器需要在测试开始时知道所有参数。

关于java - 当输入来自多个文件时如何使用参数化 junit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29950425/

相关文章:

java - 无法从 Set<MyObject> 转换为 Set<MyObject<?,?>>

file - Jenkins 从 Workspace 中删除文件

javascript - 自定义事件参数未在测试中正确传递

python - 为什么模拟 zeep.Client 不工作?

java - 你如何序列化 Guava 集合?

java - Web 框架 : How is Play different from Spring MVC?

添加到 ArrayList 的 Java 对象未显示

Python-将列表添加到文件末尾

python - 在Python中将字节转换为BufferedReader对象?

android - 使用 Amazon Device Farm 或类似工具检查浏览器