黄瓜与Capybara的分配()的替代方案?

Ton*_*ony 3 ruby-on-rails cucumber capybara

我正在尝试用黄瓜进行水豚以获得更好的javascript测试覆盖率.我有很多步骤可以检查或使用Rails集成测试助手中的内容,例如:

assigns(:current_user).should_not be_nil
Run Code Online (Sandbox Code Playgroud)

无论我怎么称呼assigns,即使我说出类似的p assigns错误:

undefined method `template' for nil:NilClass (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

所以,似乎我不能再那样做了.是否有一种替代方法可以反省控制器中发生的事情,或者至少以某种方式运行这些步骤,以便我能够进行集成测试?

jni*_*las 5

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