2
rspecでテストするときに、どの引数が非静的メソッドに渡されているかを確認することはできますか?Rspecの非静的メソッドをテストしますか?
クラスAをテストする、つまりクラスAを呼び出したい場合は、クラスBを呼び出します.Bは既にテスト済みです。私がテストしたい唯一のことは、私がb.calling
に入ってくる引数をテストするにはどうすればよいB.
class A
def method
number = 10
b = B.new
b.calling(number)
end
end
class B
def calling(argument)
# This code in this class is already testet
end
end
に入ってくる引数はありますか?
これまでこれを試してみましたが、これは成功しませんでした。
it "should work" do
b = mock(B)
b.should_receive(:calling).at_least(1).times
A.new.method
end
いつも失敗すると、beacuse b
は呼び出されませんでした。
おかげで、それは働いた! – Oleander
+1、OPは本当に自分自身に、なぜ 'A'が最初に' B 'をどのように構築するのか知っていなければなりません。あるいは 'メソッド'が 'B'を構築してすぐにそれを投げ捨てるのはなぜですか? –
はい、それは病理学的/教育的な例だと思います。 a.method(b)のように、引数として渡されたときにbへの呼び出しをアサートすることがより一般的です。 – nruth