Вариант использования следующий: я хотел бы иметь возможность комбинировать параметризованный и не параметризованный тест, а также иметь разные параметры для различных параметризованных тестов.Можно ли комбинировать параметризованные тесты с параметризацией в jUnit?
Использование Parameterized.class кажется немного излишним, так как это взорвет конструктор для каждого нового модульного тестирования мне нужно параметризуем, также приведет к нескольким пробегов, не являющихся параметризованных тестов, которые я не заинтересован.
Итак, я думал о Theories.class, но хотя может быть предоставлено несколько @DataPoint
s, те, которые относятся к отдельным типам, передаются как каждый аргумент функции тестирования и по-прежнему приводят к проверке только одной функции.
Я хотел бы, чтобы достичь чего-то вроде
@RunWith(Theories.class)
class Test{
@Theory(named="foo")
public void fooTest(Object input) {
}
public static @DataPoints(named="foo") Object[] inputs = {1, 2, 3, 4, 5};
@Theory(named="bar")
public void barTest(Object input) {
}
public static @DataPoints(named="bar") Object[] inputs = {6, 7, 8, 9, 10};
public void bazTest() {
}
}
Где fooTest
протестирована с 1, 2, 3, 4, 5
и barTest
с 6, 7, 8, 9, 10
соответственно.
Есть ли способ достичь этого, используя Theory
? Есть ли альтернатива для достижения этого?
Боюсь, вам нужно создать два различных тестовых классов для этого. Вы также можете переключиться на TestNG, который позволяет это. –
@ tamasrev переключение на что-либо еще не является опцией. –