2011-01-13 83 views
3

這裏是我的場景。在我的Junit測試中,在許多地方,我需要提供用戶名,描述,url,無效url等,所以我硬編碼了這些值。在任何地方硬編碼都不好。所以我想把這些值移到一個集中的地方(一個文件)。我有一些數據提供者說DP。我可以在需要這些值的地方調用DP.getUserName(),DP.getUrl()等。此外,我想擁有一個不同的用戶名稱,網址,無效的URL等。當我調用getUrl時,它將隨機從池中接收。基於文件的數據提供者

我能想到的是使用java.util.Properties從文件,每次我打電話時加載propertis,我只是隨機返回一個條目。

任何更好的方法來實現這一目標?謝謝。

回答

0

屬性文件是一個好主意,也可以讓您在項目更改時不必重新編譯代碼。 getUrl從池中拉出很好。

但是,如果你有幾個getUserName(),getErrorURL(),getDatabaseName()等所有返回一個字符串。您可能需要考慮將這些單個鍵值屬性存儲在DP類中的地圖中,並提供一些公共枚舉列表來訪問變量。

喜歡的東西:

private Map<PROP, String> map; 
public enum PROP{ USERNAME, PASSWORD, DATABASE_NAME}; 

public String getProperty(PROP key){ 
    return map.get(key); 
} 

這樣,你不必添加每個屬性的新方法和變量;

+0

感謝您的評論。我如何支持一組用戶名,網址等?由於屬性文件是鍵/值對。該屬性文件將如下所示:USERNAME1 = Tom – David 2011-01-13 23:40:41

相關問題