RSpec を使用して、オブジェクトが別のオブジェクトのインスタンスであるかどうかを確認する方法が必要です。例えば:
describe "new shirt" do
it "should be an instance of a Shirt object"
# How can i check if it is an instance of a shirt object
end
end
推奨される構文は次のとおりです。
expect(@object).to be_a Shirt
古い構文は次のとおりです。
@object.should be_an_instance_of Shirt
2つの間に非常に微妙な違いがあることに注意してください。シャツが衣服から継承する場合、これらの期待は両方とも合格します。
expect(@object).to be_a Shirt
expect(@object).to be_a Garment
あなたがそうし、@ objectがシャツである場合、2番目の期待は失敗します:
@object.should be_an_instance_of Shirt
@object.should be_an_instance_of Garment
オブジェクトがクラスのインスタンスであるかどうかを確認したいということですか? もしそうなら、それは簡単ですclass
:
@object.class.should == Shirt