2013-03-27 98 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的文档,因此您可以更好地了解它是如何使用的。我提供这个答案是因为这已经完成了我过去需要的东西,但我非常有兴趣看看是否有更好的解决方案。