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

how to use parameterized junit when input is from several files?

我以前用Parameterizedjunit。

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

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 基础架构和语法来比较每个相应的列表项?

我试过:

 @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 跑步者需要在测试开始时知道所有参数。