Почему Мокко не жалуется на ожидания? - PullRequest
1 голос
/ 27 июня 2011

Я возился с 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

Может кто-нибудь сказать мне, что мне здесь не хватает?

...