繁体   English   中英

使用RSpec Rails测试属性方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM