2016-10-08 5 views
2

setupでメソッドを使用するにはどうすればよいですか? 私は、このようなブロックでstubが見つかりました:Minitestでセットアップ方法をスタブする方法はありますか?

class FooTest < ActiveSupport::TestCase 
    test 'for_something' do 
    Foo.stub :some_method, 3 do 
     #assert_equal 
    end 
    end 
end 

しかし、私はすべてのテストのためにスタブしたいです。どのように私はそれをスタブすることができますか?

答えて

0

あなたは、あなたのテストケースに#runメソッドをオーバーライドすることにより、それを達成することができます:

class FooTest < ActiveSupport::TestCase 
    def run 
    Foo.stub :some_method, 3 do 
     super 
    end 
    end 

    test 'for_something' do 
    #assert_equal 
    end 
end 

「まわり」に実行する必要のあるコードを導入する一般的な方法ですyテストケース。

0

と思い、このすでにここ答え - あなたは、セットアップ中またはテスト中にメソッドをスタブすることができます例えばmocha宝石付きhttps://stackoverflow.com/a/39081919/3102718

require 'active_support' 
require 'minitest/autorun' 
require 'mocha/mini_test' 

module Foo 
end 

class FooTest < ActiveSupport::TestCase 
    setup do 
    Foo.stubs(:some_method).returns(300) 
    end 

    test 'for_something' do 
    assert Foo.some_method == 300 
    end 
end 
関連する問題