这是我的情景。在我的Junit测试中,在很多地方,我需要提供用户名,描述,网址,无效网址等等。所以我对这些值进行了硬编码。到处硬编码都不好。所以我想将这些值移动到集中的位置(文件)。我有一些数据提供者说DP。我可以在需要这些值的地方调用DP.getUserName(),DP.getUrl()等。此外,我想拥有一个不同用户名,网址,无效网址等的池。当我调用getUrl时,它将从池中随机接收。
我能想到的是使用java.util.Properties从文件中加载属性,每次调用时,我只是随机返回一个条目。
任何更好的方法来实现这一目标?感谢。
答案 0 :(得分:0)
属性文件是一个好主意,也允许您在项目更改时不必重新编译代码。从游泳池拉出的getUrl很好。
但是,如果你有几个getUserName(),getErrorURL(),getDatabaseName()等都返回一个String。您可能想要考虑将这些单个键值属性存储在DP类的映射中,并提供一些公共枚举列表来访问变量。
类似的东西:
private Map<PROP, String> map;
public enum PROP{ USERNAME, PASSWORD, DATABASE_NAME};
public String getProperty(PROP key){
return map.get(key);
}
这样您就不必为每个属性添加新方法和变量;