将字段添加到枚举

时间:2012-11-29 21:13:54

标签: java testing automated-tests integration-testing

我必须为项目编写验收测试。在这个项目中有一个公共最终枚举,其中包含另一个带方法的枚举。我应该在运行时添加新值,但我不知道如何实现此结果。我使用的语言是Java。

你能帮助我吗?

3 个答案:

答案 0 :(得分:1)

您无法在java中的Enum中动态创建条目。我建议使用地图做这样的事情,但它不会是一个枚举。

答案 1 :(得分:0)

让你的枚举实现一个接口,声明getter-methods来访问你想要扩展的枚举上的字段。在客户端代码中,将包含枚举的所有方法更改为接口。使用此设计,您可以轻松地为测试添加新值。

答案 2 :(得分:0)

为什么不创建列表(E.G. LinkedList等)并使用枚举的values()方法 获取初始值(枚举的值)到列表中。然后,您可以在运行时将新值添加到列表中,即E.G。:

要迭代枚举的值,只需使用values();假设适当声明公共枚举月{...}:

1. for (Month month : Month.values()) {  
2.  //do something  
3. }  

这是一个URL,其中包含使用带枚举的值()的信息:

http://www.coderanch.com/t/410234/java/java/Iteration-Enum