2
我想爲一個測試和其他測試存根類方法,我希望實際的方法被調用。我一直使用RSpec和摩卡,所以下面的行爲看起來很奇怪。Ruby MiniTest UnitTest Stubbing類方法僅用於一個測試
我想在我的一個測試中存根的類。
class MyClass
def self.foo(arg)
return "foo#{arg}"
end
end
測試,其中i嘗試末梢MyClass.foo
class XYZTest < Minitest::Test
def test_1
MyClass.expects(:foo).returns('abcd')
assert_equal MyClass.foo('123'), 'abcd'
end
def test_2
assert_equal MyClass.foo('123'), 'foo123'
end
end
第一測試通過,但第二個測試失敗,說明摩卡:: ExpectationError:意想不到調用:MyClass.foo( '123' )
在test_2中,我想調用實際的類方法,而不是我在test_1中做的存根。
PS:上面是一個條紋的例子。我不想每次都重置,我將類方法存根。