Ruby on rails 3 铁轨上的嘲笑

Ruby on rails 3 铁轨上的嘲笑,ruby-on-rails-3,ruby-on-rails-3.1,ruby-on-rails-3.2,Ruby On Rails 3,Ruby On Rails 3.1,Ruby On Rails 3.2,我有上面的代码,其中accounts\u by\u id方法位于类客户机内部。此方法返回JSON.parse(response.body)。有人知道我如何在rails中模拟或使用这个方法的存根来返回一些东西吗 我使用Mocha模拟/存根函数进行测试。这会导致类似的结果 Client.any_instance.expected(:query_account)。with(“my account id”)。returns([要返回的某个对象]) 在测试中调用此函数的行之前 然而,这并不会导致实际的断言

我有上面的代码,其中accounts\u by\u id方法位于类客户机内部。此方法返回JSON.parse(response.body)。有人知道我如何在rails中模拟或使用这个方法的存根来返回一些东西吗

我使用Mocha模拟/存根函数进行测试。这会导致类似的结果

Client.any_instance.expected(:query_account)。with(“my account id”)。returns([要返回的某个对象])

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

然而,这并不会导致实际的断言,只是如果没有符合预期的函数调用,那么就失败了,这在我看来并不理想。如果传入的帐户id与预期的不符(尽管不需要带的
),它也会失败

这是摩卡咖啡的文档,您可以更好地了解它是如何使用的。我给出这个答案是因为这已经完成了我过去所需要的,但我非常有兴趣看看是否有更好的解决方案

module gameSystem
 Class client
....
...
...

def accounts_by_id(account_id)

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

...
...
...
end