Dan*_*nny 0 ruby rspec ruby-on-rails factory-bot
我正在创建一个具有几个has_many关联的对象.关于tob构建对象的所有内容都可以正常工作,但是当我尝试测试其中一个子节点或父节点的删除时,它并没有反映在测试中.
例如:
base_article = Factory(:base_article, :articles => [Factory(:article)])
p base_article.articles.size
base_article.articles.first.destroy
p base_article.articles.size
base_article.destroyed?.should == true
Run Code Online (Sandbox Code Playgroud)
打印出:
1
1
在没有更多子项时删除基础的文章中,我正在测试回调.为什么文章关联的大小没有减少一个?
谢谢!
您需要重新加载文章集合,因为Rails的数据库缓存是陈旧的:
base_article = Factory(:base_article, :articles => [Factory(:article)])
base_article.articles.size # => 1
base_article.articles.first.destroy
base_article.articles.size # => 1
base_article.articles.reload.size # => 0
base_article.destroyed?.should == true
Run Code Online (Sandbox Code Playgroud)