Использовать все значения перечисления в параметризованном тесте JUnit - PullRequest
0 голосов
/ 04 июля 2018

Я нашел несколько примеров использования значений перечисления в параметризованных тестах JUnit, таких как:

enum Colors {
  GREEN,
  RED,
  ORANGE
}

@Parameters
public static Collection<Object[]> data() {
  return Arrays.asList(new Object[][] {
    // How to use the complete enum here?
    {Colors.GREEN},
    {Colors.RED},
    {Colors.ORANGE},
  });
}

Как использовать полное перечисление в операторе return, чтобы тест выполнялся для каждого значения перечисления?

1 Ответ

0 голосов
/ 04 июля 2018

Использование метод values() :

Colors[] values = Colors.values();

List<Object[]> data = new ArrayList<>(values.length);
for (Colors color : values) { data.add(new Object[] { color }); }
return data;

Обратите внимание, что по обычному соглашению имя перечисления должно быть Color, а не Colors: посмотрите на перечисления в стандартной библиотеке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...