视图组件与嵌套表单的实现与优化
1. 视图组件测试与嵌套优化
在视图组件的测试中,我们可以使用 concept 辅助方法来渲染标记内容,就像在视图或控制器中一样。以下是一个测试示例:
class ThingCellTest < Cell::TestCase
let(:rails) { Thing::Create[thing: {name: "Rails"}] }
let(:trb) { Thing::Create[thing: {name: "Trailblazer"}] }
subject { concept("thing/cell", collection: [trb, rails], last: rails) }
it do
subject.must_have_selector ".columns .header a", text: "Rails"
subject.must_not_have_selector ".columns.end .header a", text: "Rails"
subject.must_have_selector ".columns.end .header a", text: "Trailblazer"
end
end
这个测试使用 concept 辅助方法渲染组件,并使用 Capybara 匹配器来测试选择器和内容。然而,这种测试方式存在一个问题,它复制了很多控制器视图中的逻辑,例如:
超级会员免费看
订阅专栏 解锁全文
2629

被折叠的 条评论
为什么被折叠?



