Если я вас правильно понял, у вас есть один набор параметров:
{-1, 10, "Invalid Value"}, //minutes < 0 returns "Invalid value"
{1, -1, "Invalid Value"}, //Negative seconds value
{61, 50, "01h 01m 50s"}, //valid value returns time in format "XXh YYm ZZs"
, который вы используете для проверки метода с двумя аргументами getDurationString
.И - это мое понимание - вы также хотите предоставить второй набор параметров, возможно
{-1, "Invalid Value"}, //seconds < 0 returns "Invalid value"minutes, "
{0, "00h 00m 00s"}, //boundary case, everything zero
{1, "00h 00m 01s"}, //last digit (seconds)
{10, "00h 00m 10s"}, //but last digit (seconds)
{59, "00h 00m 59s"}, //boundary case
{60, "00h 01m 00s"}, //boundary case, last digit (minutes)
...
, чтобы проверить метод с одним аргументом getDurationString
.Однако, чтобы сделать это с JUnit4, вам нужно будет создать второй тестовый класс - вы не можете поместить два разных набора параметров в один и тот же класс.
В одном классе с параметризованными тестами может быть много тестовых методов.- но все они будут работать с одним и тем же набором параметров, как определено в @Parameterized.Parameters
.
Обратите внимание, что это отличается от способа, которым параметризованные тесты реализованы в JUnit5: в JUnit5 для каждого отдельного параметризованного метода тестирования этоМожно решить отдельно, какие входные параметры должен получить метод испытаний.Это делается путем аннотирования каждого метода испытаний информацией, откуда поступают данные испытаний: https://junit.org/junit5/docs/current/user-guide/#writing-tests-parameterized-tests