0
MinitestでMochaを使用して別のスタブを返す関数をスタブしたいとします。 これは私がbyebugでコードを実行すると、@instanceが定義されているコード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
#<Mock:instance>
しかし、find_by_id内=スタブ
(byebug) @instance
nil
を行う私が読んhereスタブの代わりにモックを使用していますが、どちらも動作しません。
ブロックの中に@instanceがnilでない理由はありません。それは前に定義した通りです。