我在摩卡上玩了几天,似乎无法让它正常工作。
我正在使用 Rails 3.1.0.rc4 和 Mocha 0.9.12,在 Ruby 1.9.2-p180 下运行。在我的 Gemfile 中,我有一个
gem 'mocha', :require => false
我在 test_helper.rb 的最后一行需要 Mocha
require 'mocha'
正如各种问题和博客文章中所建议的那样。
但是,当创建一个新的 Rails 项目并编写如下简单的测试时:
test "test 1" do
User.any_instance.expects(:something).returns(true)
u = User.new
assert u.something
end
test "test 2" do
User.any_instance.expects(:something).returns(true)
u = User.new
end
test "test 3" do
u = mock()
u.expects(:something).at_least_once
end
所有测试通过,没有任何错误。因此,模拟工作(因为 :something 不是真正的函数)但在第二个和第三个测试中,我希望 Mocha 抱怨 :something 没有被调用。
使用“MOCHA_OPTIONS=debug”运行测试说
Detected MiniTest version: 1.6.0
Monkey patching MiniTest >= v1.4.2 and <= v1.7.2
谁能告诉我我在这里缺少什么?