Я согласен с Томеком и хотел бы пройти два теста. Первые тесты для случаев, когда никаких исключений не ожидается. Второй проверяет значения, которые должны приводить к генерированию исключений (т. Е. Завершаться сбоем, если они не выбрасываются).
Ниже приведен простой пример, в котором реализация ExceptionThrower.throwAnInstanceException (int) просто генерирует IllegalArgumentException , когда значение int меньше единицы В вашей реализации все предоставленные значения должны вызывать исключение.
@ParameterizedTest
@ValueSource(ints = {0, 1})
public void parameterizedIntExceptionTest(int testValue) {
ExceptionThrower exceptionThrower = new ExceptionThrower();
assertThrows(IllegalArgumentException.class, () -> {
exceptionThrower.throwAnInstanceException(testValue);
});
}
Если вы хотите указать несколько аргументов, вам следует использовать MethodSource недостаток ValueSource для теста.