使用java中的Reflection更新枚举

时间:2018-01-04 05:59:12

标签: java reflection enums

我宣布了一个枚举

enum Animal {
    Cat("Tom"), Rat("Jerry");
}

我必须在值上添加测试用例。有没有办法在枚举时使用反射添加另一个动物类型,我必须在测试用例中失败。

P.S。这些值与另一个在服务器上并行运行的模块有一些相似之处,因此将来如果其他一些编码器更新枚举,以确保他必须在另一个模块中进行这些更改。 所以,我正在为它添加一个功能测试用例。

1 个答案:

答案 0 :(得分:1)

枚举中的所有值都应该是预先知道的。在这种情况下,您还可以编写一个测试用例,它“获取”此枚举中的所有值,并声明大小为2,值是预期的等。另外,在两个模块中有重复的枚举,应该保留在同步似乎是一种设计/建筑气味。可能两个模块都应该从共享数据库或共享缓存中获取这些值以正确缓解这一点。