Я возился с Mocha в течение нескольких дней и не могу заставить его работать должным образом.
Я использую Rails 3.1.0.rc4 и Mocha 0.9.12, работающие под Ruby 1.9.2-p180.В моем Gemfile у меня есть
gem 'mocha', :require => false
, и мне требуется Mocha в последней строке моего test_helper.rb
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
Все тесты пройдены без ошибок.Итак, mocking работает (потому что: что-то не является реальной функцией), но во втором и третьем тестах я ожидаю, что Mocha будет жаловаться: что-то не вызывается.
Запуск тестов с "MOCHA_OPTIONS = debug" говорит
Detected MiniTest version: 1.6.0
Monkey patching MiniTest >= v1.4.2 and <= v1.7.2
Может кто-нибудь сказать мне, что мне здесь не хватает?