在 Rails 2.3.2 上,我正在尝试在功能测试中测试 View
def test_view
get :form
xhr :post, :add_to_cart, {:id => 1}
post :create, {:param => value}
assert_select 'title', 'Success!'
end
但不断失败:
预计至少有 1 个元素匹配“title”,找到 0 个。 不是真的。
我知道您不能在 xhr 调用后使用“assert_select”,但在这种情况下,我是在常规发布请求后执行此操作。
如果我放弃 xhr 请求
def test_view
get :form
post :create, {:param => value}
assert_select 'title', 'Success!'
end
然后它就像魅力一样工作。 我可以手动设置购物车(我存储在 session 中),但那样我就不会真正测试 View ...
有什么想法吗?
最佳答案
我想您已经明白了——功能测试需要一个 Controller 操作,而不是多个操作。我建议将其替换为 integration test .
关于ruby-on-rails - Rails 功能测试 assert_select 在 AJAX 发布后找不到任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5067594/