0
我想在Minitest上存根使用Mocha返回另一個存根的函數。 這是代碼Minitest/Mocha嵌套存根
@instance = stub('instance') do
stubs(:destroy).returns(true)
stubs(:id).returns(0)
end
find_by_id = stub do
stubs(:find_by_id).returns(nil) #default
stubs(:find_by_id).with(@instance.id).returns(@instance)
end
@user.stubs(:instances).returns(find_by_id)
當我運行與byebug代碼,@instance被定義:
(byebug) @instance
#<Mock:instance>
然而,內部find_by_id =存根做
(byebug) @instance
nil
我讀here關於使用模擬而不是存根,但這也不起作用。
我不明白爲什麼@instance在之內,之內,因爲它是先前定義的。