gpt4 book ai didi

ruby-on-rails-3 - RSpec:最简单的测试失败并出现错误:预期 block 返回真值

转载 作者:行者123 更新时间:2023-11-28 20:01:30 25 4
gpt4 key购买 nike

我正在用 Rails 试水,我被这个简单的测试困住了:

我在 spec/routing/routing_spec.rb 中有这段代码

  require 'spec_helper'

describe "Accessing the root domain" do
it "should route to home#index" do
{ :get => '/' }.
should route_to(:controller => 'home', :action=>'index')
end
end

失败并出现以下错误:

 Failure/Error: { :get => '/' }.
Expected block to return true value.
# ./spec/routing/routing_spec.rb:7:in `block (3 levels) in <top (required)>'

我的代码有什么问题?

最佳答案

我在使用 Rails 3 和 Ruby 1.9.2 时也遇到了这个不透明的错误消息。在我的案例中,原因是我使用的是 Ruby 附带的旧版本的 minitest,并且在该版本中,assert_block 方法(由 ActionDispatch::Assertions::RoutingAssertions 中的 assert_recognizes 调用)不显示错误消息(路由如何参数不匹配)。我的解决方法是将 minitest 添加到我的 Gemfile 并通过 bundler 安装它:

group :test do
gem "minitest", ">= 2.6.1" # The minitest version that ships with Ruby is old and has bugs
end

然后我会得到一个更容易理解的错误信息:

The recognized options <{"action"=>"index",
"controller"=>"publish/product_versions",
"product_id"=>"ipad_app"}> did not match <{"controller"=>"publish/product_versions",
"action"=>"indexx",
"product_id"=>"ipad_app"}>, difference: <{"action"=>"indexx"}>.
Expected block to return true value.

关于ruby-on-rails-3 - RSpec:最简单的测试失败并出现错误:预期 block 返回真值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5324291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com