emi*_*co7 9 testing ruby-on-rails devise
自从我安装Rails 5后,我正在开发我的第一个应用程序.当我运行我的控制器操作规范时,即使我的所有测试都通过,我也会收到下面的警告信息.
[Devise] including `Devise::TestHelpers` is deprecated and will be removed from Devise.
For controller tests, please include `Devise::Test::ControllerHelpers` instead.
Run Code Online (Sandbox Code Playgroud)
所以在spec/rails_helper.rb我改变这一行:
config.include Devise::TestHelpers, type: :controller
Run Code Online (Sandbox Code Playgroud)
至
config.include Devise::Test::ControllerHelpers
Run Code Online (Sandbox Code Playgroud)
这一变化使警告消失了,但现在模型的规格都失败了.(他们在改变之前就过世了.)我该如何解决这个问题?谢谢!
blo*_*age 16
您应该将spec/rails_helper.rb文件更改为以下内容:
config.include Devise::Test::ControllerHelpers, type: :controller
Run Code Online (Sandbox Code Playgroud)
这将确保Devise::Test::ControllerHelpers模块仅包含在控制器测试中.模型测试失败的原因是因为该模块特定于控制器测试.
| 归档时间: |
|
| 查看次数: |
2774 次 |
| 最近记录: |