オブジェクトが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がShirtである場合、2番目の期待は失敗します:
@object.should be_an_instance_of Shirt
@object.should be_an_instance_of Garment
オブジェクトがclass?のインスタンスであるかどうかをチェックしたいということです。もしそうなら、それは簡単です、ただclass
を使用してください:
@object.class.should == Shirt