2015-04-29 7 views
1

Раньше я использовал Parameterized junit.Как использовать параметризованный 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 инфра и синтаксис для сравнения каждый соответствующие элементы списка, когда каждый список распространяется на несколько файлов?

Я попытался:

@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())); 
    } 
+0

Вы прочитали это [GITHUB] (https://github.com/junit-team/junit/wiki/Parameterized-tests) – igreen

+0

Я сделал это в прошлом. можете ли вы отправить конкретную ссылку на мою проблему, если вы ее прочтете? –

+0

Очень сложно понять, в чем проблема. Если бы вы могли подробнее объяснить ... – igreen

ответ

0

К сожалению, вы не можете, потому что Parameterized бегун должен знать все параметры в начале теста.