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)。有谁知道我如何在rails中模拟或使用存根来返回一些东西。

4

1 回答 1

0

我已经使用 Mocha 来模拟/存根函数进行测试。它会导致类似

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

在测试中调用此函数的行之前。

但是,这不会导致实际的断言,如果没有与预期匹配的函数调用,则只会失败,这在我看来并不理想。如果传入的帐户 ID 不是预期的,它也会失败(尽管with不是必需的。)

是 Mocha 的文档,因此您可以更好地了解它的使用方式。我提供这个答案是因为这已经完成了我过去所需要的,但我很想看看是否有更好的解决方案。

于 2013-03-27T14:22:51.460 回答