目前正在为我的模型编写一些测试。 我有一个名为Blog的模型,当用户创建博客时,观察者向用户的新闻传递发布消息。 我的一个测试测试了这个过程。然而,这个测试在测试环境中失败了,在控制台中做同样的事情完美无缺,这使我相信rspec正在快速行动,而不是等待观察者完成其任务。任何方式来解决这个问题?我试过睡觉,但似乎没有工作。Rspec和rails中的观察者
这是一般的设计。
博客创建 观察通知书,并创建一个新的新闻源,并通过新的博客对象 新闻馈送上创建被触发,并通过调用博客对象的方法获取正确的新闻推送消息。 新闻推送将该博客添加到其newsfeed_items列表并保存。
该规范将失败,因为它不等待观察员完成任务,它和之后的方法有效地删除新闻源对象之前的对象可以从它那里得到消息回调用它。
曾经推测这一个?我发现观察者挂钩一次,然后再也不会再次... –