Ответ
Да, но только с использованием специальной поддержки фреймворка для параметризованных тестов (Parameterized Tests). Обычный метод, аннотированный @Test, не может иметь параметров.
Пример в JUnit 5:
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
void testNumberIsPositive(int number) {
assertTrue(number > 0);
}
Ключевые элементы JUnit 5:
@ParameterizedTest— указывает, что метод является параметризованным тестом.- Источник данных (например,
@ValueSource,@CsvSource,@MethodSource) — предоставляет аргументы для каждого вызова теста.
В JUnit 4 для этого требуется использовать @RunWith(Parameterized.class) и специальный конструктор.