Это вопрос стиля. Это две альтернативы: Со всеми в одном методе:
public void testAll() {
assertEquals("ATE", getData(leg4));
assertEquals("FTE", getData(leg2));
// etc.
}
С одним методом / комбинацией испытаний:
public void testLength4() {
assertEquals("ATE", getData(leg4));
}
public void testLength2() {
assertEquals("FTE", getData(leg2));
}
Преимущество первого состоит в том, что все комбинации очень легко увидеть, потому что все они в одном месте. Это очень полезно, если комбинаций много или они сложные.
Последнее имеет то преимущество, что у вас есть один тест на комбинацию, поэтому очень легко локализовать проблему, потому что (теоретически) только один тест провалится. Недостаток: у вас очень быстро заканчиваются названия для методов тестирования. testLength4, testLength2, testLength3WithCST, testLength3WithCST. Этот недостаток становится особенно серьезным, когда у вас много комбинаций (например, один тест на каждый месяц в году).
Большую часть времени я использую один метод тестирования / контрольный пример, но если число комбинаций начинает расти, у меня будет один метод. Он содержит все комбинации, потому что мне нравится видеть все свои комбинации одновременно, чтобы увидеть, пропустил ли я их.