java - 基于文件的数据提供者

标签 java

这是我的场景。在我的 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/

相关文章:

Java 等待特定间隔通知不起作用

java - 在不实现 equals() 的情况下比较两个列表对象值的有效方法?

java - 绑定(bind)形式-freemarker + Spring MVC

java - WebSphere MQ 是 WebSphere AS 8/8.5 中的默认 JMS 提供程序吗?

java - Hazelcast 类路径错误

java - 没有字段的派生类的 Hibernate 映射

java - mongodb 在连接到 ReplicaSet 时指定 MongoOptions

java - 通过键盘激活 JButton

java - rxjava : emitting one result of all observables instead of multiple

java - 为什么在 jpanel.paintComponent() 中调用 setText() 方法时 JLabel 不刷新?