ruby-on-rails - capybara cucumber 中 assigns() 的替代方案?

标签 ruby-on-rails cucumber capybara

我正在用 cucumber 试用 capybara 以获得更好的 javascript 测试覆盖率。我有很多步骤来检查或使用 Rails 集成测试助手中的东西,例如:

assigns(:current_user).should_not be_nil

无论我如何调用 assigns,即使我说类似 p assigns 的内容,它也会出错:

undefined method `template' for nil:NilClass (NoMethodError)

所以,看来我不能再那样做了。除了自省(introspection) Controller 中正在发生的事情之外,还有其他方法吗?或者至少可以通过某种方式运行这些步骤,以便我返回集成测试内容?

最佳答案

不幸的是没有。 Capybara 测试机架应用程序,除了通过标准机架接口(interface)(即发出 HTTP 请求)之外,无法与机架应用程序内部的内容进行通信。机架应用程序内部发生的任何事情对于 Capybara 都是不可见的。

关于ruby-on-rails - capybara cucumber 中 assigns() 的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2932363/

相关文章:

ruby - 使用 Capybara 和 headless Chrome 运行功能测试时出现 EOFError

ruby-on-rails - 在没有 Internet 连接的系统上部署 Rails 应用程序

ruby-on-rails - ActiveRecord_Relation 对象的大小

css - Rails 在 CSS 文件名中附加字符串

ruby-on-rails - cucumber 和 Rails 2.3.8 : no such file to load -- spec/expectations (MissingSourceFile)

Java、Cucumber 和 Selenium : Problems with navigate(). to()

cucumber - 如何使用 BeforeAll 和 AfterAll cucumber 注释?

ruby-on-rails - 如何使用Webkit或Selenium驱动程序填充来自 capybara 的ckeditor

selenium - 处理多个 Capybara React-select 下拉菜单?

ruby-on-rails - 如何在 ActiveRecordError 上使用 rails-i18n 关联?