ruby - truco - Usando RSpec para verificar si algo es una instancia de otro objeto
como saber si una cadena es de oro con limon (2)
¿Quiere decir que quiere comprobar si un objeto es una instancia de una clase ? Si es así, es fácil, solo usa la class
:
@object.class.should == Shirt
Necesito una forma de verificar si un objeto es una instancia de otro objeto usando RSpec. Por ejemplo:
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 sintaxis preferida es:
expect(@object).to be_a Shirt
La sintaxis más antigua es:
@object.should be_an_instance_of Shirt
Tenga en cuenta que hay una diferencia muy sutil entre los dos. Si Shirt fuera a heredar de Garment, ambas expectativas pasarán :
expect(@object).to be_a Shirt
expect(@object).to be_a Garment
Si lo haces y @object es una Camisa, entonces la segunda expectativa fallará :
@object.should be_an_instance_of Shirt
@object.should be_an_instance_of Garment