Тестирую некоторый алгоритм. Данные для алгоритма хранятся в списке. В итоге у меня получается вот так:
@Test
public void testOneDirectModeBestCaseEven(){
list.add(new Agent(6));
list.add(new Agent(1));
list.add(new Agent(2));
list.add(new Agent(3));
list.add(new Agent(4));
list.add(new Agent(5));
int i = 0;
while(!list.hasSolution()){
LeaderElection.solve(list, i++);
}
int leaderId = list.getLeaderId();
assertEquals(6, leaderId);
}
@Test
public void testOneDirectModeBestCaseOdd(){
list.add(new Agent(5));
list.add(new Agent(1));
list.add(new Agent(2));
list.add(new Agent(3));
list.add(new Agent(4));
int i = 0;
while(!list.hasSolution()){
LeaderElection.solve(list, i++);
}
int leaderId = list.getLeaderId();
assertEquals(5, leaderId);
}
И еще много функций. Получается дублирование в том что я заполняю List в каждом тесте. Но и в setUp не вынесешь, потому что заполнять то нужно по-разному для каждого теста.
Ответ
Вам могут помочь параметризованные тесты. JUnit их тоже поддерживает. Приведу код, подробнее почитать можете по ссылкам. (На джаве давно не писал, поэтому скорее всего тут есть ошибки компиляции :))
@RunWith(Parameterized.class)
public class LeaderElectionTests{
@Parameters
public static Collection
Комментариев нет:
Отправить комментарий