【发布时间】:2023-12-29 16:28:01
【问题描述】:
我的规格有问题。我正在尝试运行一个创建和销毁关联对象的规范,但我的所有规范都没有创建或销毁该对象。奇怪的是,我可以从字面上将每个测试中的每一行代码(.should 除外)复制并粘贴到控制台中,控制台将完美地运行每个期望,创建和销毁这些对象。这是一个示例:
it "should not destroy notification for like on comment" do
comment = FactoryGirl.create(:comment)
like = FactoryGirl.create_list(:like, 2, likable: comment)
like.first.destroy
note = comment.user.notifications.find_by(notifiable: comment, from_comment: false)
note.should_not be_nil
end
只有对特定评论的第一个赞才会向该评论的作者发送通知。而如果一条评论只有一个点赞,而那个点赞被销毁了,它会销毁它最初发送的通知,但如果评论的点赞数超过0,它不会销毁通知。
问题是我没有编写可扩展的代码吗?我知道我的规格可能并不完美,但为什么控制台在输入相同的情况下会得到不同的结果?
【问题讨论】:
标签: ruby-on-rails rspec rails-console