1

私は何日もモカをいじっていますが、正しく動作していないようです。

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 は実際の関数ではないため)、2 番目と 3 番目のテストでは、Mocha が :something が呼び出されていないことについて不平を言うと予想されます。

「MOCHA_OPTIONS=debug」でテストを実行すると、

Detected MiniTest version: 1.6.0
Monkey patching MiniTest >= v1.4.2 and <= v1.7.2

ここで何が欠けているのか誰か教えてもらえますか?

4

0 に答える 0