- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近将我的 Rails 应用程序从 6.0.0.beta3 升级到 6.0.0,我所有的测试都使用 _path
或 _url
我得到了以下错误:
HomeControllerTest#test_should_see_home_page:
NoMethodError: undefined method `empty?' for nil:NilClass
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb:781:in `optimize_routes_generation?'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/url_for.rb:220:in `optimize_routes_generation?'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb:228:in `optimize_routes_generation?'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb:198:in `call'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb:329:in `block in define_url_helper'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/integration.rb:404:in `public_send'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/integration.rb:404:in `method_missing'
/code/events/test/controllers/home_controller_test.rb:6:in `block in <class:HomeControllerTest>'
有没有人看过这个?也许我在升级过程中错过了配置?我的应用程序在浏览器中运行良好,似乎受影响的是测试。
编辑
我正在运行的命令是:
BACKTRACE=YES rails test test/controllers/home_controller_test.rb
而且测试很简单,总是在路由线上失败:
require 'test_helper'
class HomeControllerTest < ActionDispatch::IntegrationTest
test "should see home page" do
get root_path
assert_response :success
end
end
最佳答案
好的。我终于找到了问题所在。在我的 environment.rb 文件中,我正在执行以下操作
App::Application.default_url_options = App::Application.config.action_mailer.default_url_options
因为它们都使用相同的设置。我这样做是因为我在我的模型 (XX_path/XX_url) 中使用路由助手。我没有在我的 environment/test.rb
文件中设置 action_mailer.default_url_options
,这就是我的路由中断的原因。现在我在分配 App::Application.default_url_options
之前检查 env
是否处于测试模式,因为测试会自动使用 http://www.example.com 作为 url 选项。
关于ruby-on-rails - Rails 6 - 由于 ActionPack .empty 导致测试失败?对于零 :NilClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58557355/
我尝试对我的静态页面使用Actionpack 页面缓存。如果我理解工作“Actionpack 页面缓存”是第一个到达 rails 的请求。渲染 View ,并将 Html 存储在缓存 public/d
当我尝试bundle update时,我得到这个错误: Bundler could not find compatible versions for gem "actionpack": 在 Gemfi
我有一个不从应用程序 Controller 继承的 API Controller 。我试图包含 respond_to 方法并得到一个方法未定义的错误....所以我需要在顶部的 actionpack 如
请原谅我在学习 RoR 时缺乏知识。 当我运行 bundle update 时出现此错误。 Bundler could not find compatible versions for gem "ac
当我尝试“捆绑”时我得到了这个 Fetching source index for http://rubygems.org/ Bundler could not find compatible ver
在迁移到 Rails 5.0.0.beta1 时,我发现了很多弃用警告: DEPRECATION WARNING: env is deprecated and will be removed from
任何人都可以帮我将 rails 4.2 升级到 rails 5.1.4 运行包更新后得到兼容版本错误 Bundler 找不到 gem "actionpack"的兼容版本: 在 Gemfile 中: a
我最近将我的 Rails 应用程序从 6.0.0.beta3 升级到 6.0.0,我所有的测试都使用 _path 或 _url 我得到了以下错误: HomeControllerTest#test_sh
我在我的 gemfile 中添加了 gem 'activeadmin', github: 'activeadmin' 并进行了捆绑安装。然后它向我抛出以下错误。 Bundler could not f
我目前在将博客引擎安装到我的 refineryCMS 网站时遇到问题。我遇到的错误如下: ERROR: While executing gem ... (Gem::ImpossibleDep
我想用activeadmin用于我的 rails 项目,所以我将它添加到我的 gemfile . gem 'activeadmin' 并更新了捆绑包,但收到此错误消息 - Resolving dep
我最近正在进行 Rails 5 升级,当我尝试启动 Rails 控制台时遇到了这个错误: /actionpack-5.0.0/lib/action_controller/test_case.rb:49
我是一名优秀的程序员,十分优秀!