【发布时间】:2011-10-20 10:24:57
【问题描述】:
当我在浏览器中访问我的登录页面时,一切正常。
当我在 rspec 集成/请求测试中访问我的登录页面时,我收到以下错误:
ActionView::Template::Error:
undefined method `title' for #<#<Class:0x00000007af9180>:0x00000007af32a8>
title 方法由视图使用并在 ApplicationHelper 中定义,该设计似乎在使用浏览器时找到。但是,在 rspec 集成测试期间,devise 无法找到辅助方法。
有什么我应该存根的吗?在集成测试中存根似乎是错误的。还有其他想法吗?
(这个问题不是关于如何在集成测试中包含设计助手。我正在手动填写登录表单以进行身份验证)。
【问题讨论】:
-
内森,你有没有得到任何地方?我在使用 capybara 和 rspec 请求规范时遇到了同样的问题;如果测试中涉及的视图调用任何辅助方法,我会得到一个异常。就我而言,只有当我有警卫运行时才会发生这种情况。手动运行 rspec 工作。谢谢
-
没有。我没有。但是,我发现在某些情况下,spork 给我带来了问题(一些测试在 spork 之外运行时有效)。
-
谢谢。我做了更多的测试,发现 spork 是罪魁祸首。还没有确定到底是什么问题,但没有 spork,没关系。
标签: ruby-on-rails rspec devise integration-testing