我无法理解为什么下面的代码块没有通过,即使puts值显示我正在检查的值:
let(:new_on_each_example) { MovieList.new }
it "can use method defined by 'let'" do
new_on_each_example.should_not be_nil
# the object is memoized, so
new_on_each_example.should == new_on_each_example
puts new_on_each_example.class
new_on_each_example.class.should == "MovieList"
end
控制台显示:
MovieList
预期:“MovieList” got:MovieList(id:integer,title:string,created_at:datetime,updated_at:datetime,track_number:integer)(using ==)
Puts显示我正在寻找的值,但测试失败。这是为什么?
答案 0 :(得分:2)
new_on_each_example.should be_instance_of(MovieList)
中的更多信息
答案 1 :(得分:0)
您将转到RSpec "MovieList"
。这是一个字符串,而不是你班级的常数。所以你应该这样做:
new_on_each_example.class.should == MovieList
但是使用RSpec你也可以做一些更优雅的事情:
new_on_each_example.class.should be_a(MovieList)