我有一個單身Java屬性類(RepositoryProperties.java)從一個文本文件中讀取獲得由readFromSql方法的返回值:如何嘲笑一個屬性在JMock的測試文件讀取返回的值
public boolean readFromSql() {
String lPhase = getPilotProfileDatabaseTransitionPhase();
if (lPhase.equals("PHASE_ONE_SQL")) {
return true;
} else
return false;
}
然後,當我想通過我的倉庫實現類添加一條記錄,我要檢查這個值就知道要執行哪個代碼塊:
if (RepositoryProperties.getInstance().readFromSql()
{
..如果屬實,將數據寫入到SQL,否則跳過此塊
現在我需要爲我的存儲庫添加方法添加一個Jmock單元測試,以便readFromSql方法返回true(另一個測試將測試false值),而不會引入對文本文件的依賴關係。我擔心jmock對我來說是全新的,我無法弄清楚如何模擬readFromSql返回的值。我沒有setter方法。
我嘗試添加這一種期望,但它不是正確的方法(不認爲這屬於預期)和我的語法也有錯:
myMockContext.checking(new Expectations() {
{
RepositoryProperties.getInstance().readFromSql();
will(returnValue(true));
真的很感激,關於如何一點點指導正確地做到這一點和在哪裏。