基于文件的数据提供者

时间:2011-01-13 23:04:41

标签: java

这是我的情景。在我的Junit测试中,在很多地方,我需要提供用户名,描述,网址,无效网址等等。所以我对这些值进行了硬编码。到处硬编码都不好。所以我想将这些值移动到集中的位置(文件)。我有一些数据提供者说DP。我可以在需要这些值的地方调用DP.getUserName(),DP.getUrl()等。此外,我想拥有一个不同用户名,网址,无效网址等的池。当我调用getUrl时,它将从池中随机接收。

我能想到的是使用java.util.Properties从文件中加载属性,每次调用时,我只是随机返回一个条目。

任何更好的方法来实现这一目标?感谢。

1 个答案:

答案 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);
 }

这样您就不必为每个属性添加新方法和变量;