2013-03-27 45 views
0
module gameSystem 
Class client 
.... 
... 
... 

def accounts_by_id(account_id) 

     response = query_account(CGI.escape(account_id)) 
     JSON.parse(response.body) 
    end 

... 
... 
... 
end 

我有上面的代碼,其中所述方法accounts_by_id位於類Client內部。這個方法返回JSON.parse(response.body)。有誰知道我可以嘲笑或使用存根在軌道中的這種方法來返回一些東西。嘲諷在導軌

回答

0

我已經使用摩卡模擬/存根測試功能。這將導致類似

Client.any_instance.expects(:query_account).with("my-account-id").returns([some object to return])

調用在測試這個功能前行

但是,這不會導致實際的斷言,如果沒有符合期望的函數調用就會失敗,這在我看來並不理想。如果傳入的帳戶ID不是預期的(但不需要with),它也會失敗。

Here是Mocha的文檔,因此您可以更好地瞭解它是如何使用的。我提供這個答案是因爲這已經完成了我過去需要的東西,但我非常有興趣看看是否有更好的解決方案。