0

我们将 Spork 与 Rspec 一起使用,如果我们运行 Spork,我们的测试通过,但如果我们不启动 spork 并使用以下命令运行测试:

bundle exec rspec spec

发生了几次失败,所有这些都是使用 should.have 语法的失败,例如:

inactive_user.received_messages.should have(1).message

1) Message introduction messages to active users should be created as messages to both users
 Failure/Error: initiator.sent_messages.should have(1).message
   expected 1 message, got 6

这个数字的有趣之处在于数据库中共有多少条消息,所以:

initiator.sent_messages.should have(1) == Message.count

如果没有 Spork,如果我像这样修改测试:

inactive_user.received_messages.count.should == 1

一切正常。所以看起来匹配方法正在查看错误的计数。知道为什么会这样吗?

4

1 回答 1

0

我也有同样的问题。我正在使用 shoulda gem 来测试关系。我有很多 WeeklyStatistics 的 Instance 类,并且我第一次运行:

should have_many(:weekly_statistics)

用 spork 测试是红色的,表明我应该将外键 instance_id 设置为每周统计信息,但是在我完成之后,测试仍然失败并出现相同的错误 - 缺少关联。然后我停止了 spork,测试结果是绿色的。

于 2012-05-08T20:37:21.293 回答