【发布时间】:2010-12-09 06:42:18
【问题描述】:
在我当前的 Rails 3 应用程序中,我正在进行一些单元测试,以确保仅在某些情况下才调用更新 S3。我不想在测试期间更新 S3,所以我使用 Mocha 来消除这种行为。有没有办法确保使用 mocha 调用函数?我已经查看了 Expectations,除非我做错了,否则我似乎必须这样做:
object.expects(:function_name).once
但是,这不会产生预期的结果:如果 function_name 被调用两次(这是预期的),这将标记一个错误,如果它只被调用一次(它应该),它不会标记一个错误,但是问题如果函数被调用零次,它是否不会标记错误。我需要一种方法来确保它被调用。似乎摩卡咖啡应该支持这一点,所以也许我做错了。任何帮助将不胜感激。
***** 更正:
事实证明我做得对,只是 mocha_verify 方法没有被自动调用。对于遇到类似问题的任何人,请在此处查看 Ole Morten Amundsen 的答案:Mocha Mock Carries To Another Test
【问题讨论】:
-
您应该将答案标记为已接受。这样你就不会浪费好人的时间,那些浏览“未回答的 Q”以无私地帮助像你我这样的人的人。
标签: ruby-on-rails testing ruby-on-rails-3 mocking mocha.js