J'ai besoin d'un moyen de vérifier si un objet est une instance d'un autre objet utilisant RSpec. Par exemple:
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
La syntaxe préférée est:
expect(@object).to be_a Shirt
L'ancienne syntaxe est:
@object.should be_an_instance_of Shirt
Notez qu'il existe une différence très subtile entre les deux. Si Shirt héritait de Garment alors ces deux attentes passeront:
expect(@object).to be_a Shirt
expect(@object).to be_a Garment
Si vous le faites et que @object est une chemise, alors la deuxième attente échouera:
@object.should be_an_instance_of Shirt
@object.should be_an_instance_of Garment
Vous voulez dire que vous voulez vérifier si un objet est une instance d'un classe? Si c'est le cas, c'est simple, utilisez simplement class
:
@object.class.should == Shirt