[英]Testing attribute methods with RSpec Rails
最近,我将自己的模型之一从自制的(基于parent_id的)树结构迁移到祖先的gem,并且对于new
操作,我的控制器规格失败。 有问题的行是:
assigns(:category).should be_a_new(Category).with(parent_id: root_category.id)
但是它抱怨说没有属性parent_id
并且实际上不是,因为parent_id现在是一种方法。 我应该如何修改以上行以检查新类别和该category.parent_id == root_category.id
?
代替“ parent_id”,您可以使用祖先用来存储父代的ID的列名,默认情况下是“祖先”。 您可以通过将名称设置为has_ancestry
类方法的选项来更改名称,例如has_ancestry(ancestry_column: :parent_id)
。
修改后的测试代码如下所示:
assigns(:category).should be_a_new(Category).with(ancestry: root_category.id.to_s)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.