如何在stub
中使用setup
方法?
我只找到stub
这样的块:
class FooTest < ActiveSupport::TestCase
test 'for_something' do
Foo.stub :some_method, 3 do
#assert_equal
end
end
end
但是我想为所有测试存根。我该如何存根?
答案 0 :(得分:2)
您可以通过覆盖测试用例中的#run
方法来实现这一目标:
class FooTest < ActiveSupport::TestCase
def run
Foo.stub :some_method, 3 do
super
end
end
test 'for_something' do
#assert_equal
end
end
这是引入需要在每个测试用例“周围”执行的代码的常用方法。
答案 1 :(得分:1)
我认为这已在此处回答 - https://stackoverflow.com/a/39081919/3102718
使用gem mocha,您可以在设置或测试中存根方法,例如:
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