我正在使用Ruby on Rails 3.0.9和RSpec2。在我的spec文件中,我的代码如下:

describe User do
  let(:authorizations) { Authorization.all.map(&:name) }

   it "should have a 'registered' value" do
     authorizations.should include("registered")
   end
end


当我运行上述测试时,我得到:

User should have a 'registered' value
Failure/Error: authorizations.should include("registered")
expected [] to include "registered"
  Diff:
  @@ -1,2 +1,2 @@
  -registered
  +[]


是否可以解决上述错误\问题?如果可以,该怎么办?

最佳答案

上面告诉我,您在测试数据库中拥有所有空表。您应该考虑seeding您的开发/测试数据库。 (以防您认为授权是一种查找实体)

要么

在规范的before块中使用factory girl来为自己创建一些测试数据。

关于ruby-on-rails - 评估其他模型数据时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7457403/

10-12 03:04