java - 在 JUnit 参数化测试中使用枚举的所有值

标签 java junit enums

我发现了一些如何在 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 语句中使用完整的枚举,以便针对枚举的每个值运行测试?

最佳答案

使用the values() method :

Colors[] values = Colors.values();

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

请注意,按照正常惯例,枚举的名称应该是 Color,而不是 Colors:查看标准库中的枚举。

关于java - 在 JUnit 参数化测试中使用枚举的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51172189/

相关文章:

javascript - 如何使用 java 在 Jquery ajax 调用中下载 PDF

junit - 如何过滤一些要分析代码覆盖率的方法

junit - java.lang.ClassFormatError : Invalid method Code length while using PowerMock

python - 用于检查 Python 中对象类型的字符串与枚举

typescript - 如何在 TypeScript 中获取随机枚举?

java - 使用 Reactor 乱序处理输入通量

java - Struts2 日期标签格式

java - Junit 测试具有数据库访问的多线程应用程序

c# - dapper nuget 1.7 枚举映射

java - 如何模拟一个完整的方法?