我曾经使用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/