带有acts_as_tree的Rspec:Helper看不到孩子

时间:2011-02-16 16:40:23

标签: ruby-on-rails rspec acts-as-tree

尝试为使用acts_as_tree的辅助方法编写测试。

辅助方法使用儿童计数:

if category.children.size > 0

在我的测试中,我正在创建一个父母和孩子:

parent = Factory.create(:category)
child = Factory.create(:category, :parent_id => parent.id)

但在我的测试中(以及在测试中运行时的助手),parent.child.size为0

我的助手规范是否有一些限制无法使用acts_as_tree?我能以某种方式包括它吗?或者我应该以某种方式存根?

谢谢!

1 个答案:

答案 0 :(得分:1)

RSpec的stub_chain可以处理您需要在对象上存根方法调用链的情况。辅助规范与视图规范的语法略有不同:

# helper
helper.stub_chain(:category,:children,:size,:>).with(0) { true }

# view
view.stub_chain(:category,:children,:size,:>).with(0) { true }