这是我的场景。在我的 Junit 测试中,在很多地方,我需要提供用户名、描述、url、无效 url 等。所以我对这些值进行了硬编码。到处硬编码是不好的。所以我想将这些值移动到一个集中的地方(文件)。我有一些数据提供商说 DP。我可以在需要这些值的地方调用 DP.getUserName()、DP.getUrl() 等。另外,我想要一个包含不同用户名、网址、无效网址等的池。当我调用 getUrl 时,它将随机从池中获取。
我能想到的是使用 java.util.Properties 从文件中加载属性,每次调用时,我只是随机返回一个条目。
有更好的方法来实现这一目标吗?谢谢。
最佳答案
属性文件是一个好主意,还允许您在项目更改时不必重新编译代码。从池中获取 getUrl 没问题。
但是,如果您有多个 getUserName()、getErrorURL()、getDatabaseName() 等,它们都返回一个 String。您可能需要考虑将这些单个键值属性存储在 DP 类的映射中,并提供一些公共(public)枚举列表来访问变量。
类似于:
private Map<PROP, String> map;
public enum PROP{ USERNAME, PASSWORD, DATABASE_NAME};
public String getProperty(PROP key){
return map.get(key);
}
这样您就不必为每个属性添加新的方法和变量;
关于java - 基于文件的数据提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4686357/