2012-11-25 14 views

Trả lời

100

Cú pháp ưa thích là:

expect(@object).to be_a Shirt 

Cú pháp cũ là:

@object.should be_an_instance_of Shirt 

Lưu ý rằng có một sự khác biệt rất tinh tế giữa cả hai. Nếu áo đã kế thừa từ may sau đó cả hai mong đợi sẽ vượt qua:

expect(@object).to be_a Shirt 
expect(@object).to be_a Garment 

Nếu bạn làm và @object là một áo sơ mi, sau đó sự mong đợi thứ hai sẽ thất bại:

@object.should be_an_instance_of Shirt 
@object.should be_an_instance_of Garment 
7

Bạn có nghĩa là bạn muốn kiểm tra xem một đối tượng là một thể hiện của một lớp ? Nếu vậy, đó là dễ dàng, chỉ cần sử dụng class:

@object.class.should == Shirt 
+0

Cảm ơn điều này sẽ làm việc. –

Các vấn đề liên quan