使用RSpec来检查是否有其他对象的实例
我需要一种方法来检查一个对象是否是使用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
请注意,两者之间有一个非常微妙的差异。 如果衬衫是从服装inheritance那么这两个期望将通过 :
expect(@object).to be_a Shirt expect(@object).to be_a Garment
如果你这样做,@object是衬衫,那么第二个期望就会失败 :
@object.should be_an_instance_of Shirt @object.should be_an_instance_of Garment
你的意思是你想检查一个对象是否是一个类的实例? 如果是这样,这很容易,只需使用class
:
@object.class.should == Shirt