gpt4 book ai didi

ruby-on-rails - 为什么我的集成测试获取失败? "ArgumentError: bad argument (expected URI object or URI string)"

转载 作者:行者123 更新时间:2023-12-04 03:39:37 26 4
gpt4 key购买 nike

为什么这个测试会出现这个错误?

错误

  1) Error:
PostIntegrationTest#test_should_not_show_comment_box_if_not_logged_in:
ArgumentError: bad argument (expected URI object or URI string)
test/integration/post_integration_test.rb:6:in `block in <class:PostIntegrationTest>'

代码,post_integration_test.rb

require 'test_helper'

class PostIntegrationTest < ActionDispatch::IntegrationTest

test "should not show comment box if not logged in" do
get :show, 'id' => 1 ########### LINE 6
assert_select 'textarea', false, "Comment textarea must not exist if not logged in"
end

也不行

get :show, {'id' => 1}
get :show, {id: 1}

引用

这表示您可以传递参数。 http://api.rubyonrails.org/classes/ActionController/TestCase/Behavior.html#method-i-get

这是一个使用参数get的例子:http://guides.rubyonrails.org/testing.html#setup-and-teardown

版本

$ rails -v
Rails 4.0.0

最佳答案

:show 在集成测试中不可用,这些操作仅在 Controller 测试中可用。您需要使用 _path 帮助程序或 url 的字符串表示。

test "should not show comment box if not logged in" do
# Assuming path is /posts. Replace accordingly.
get "/posts/1" ########### LINE 6
assert_select 'textarea', false, "Comment textarea must not exist if not logged in"
end

关于ruby-on-rails - 为什么我的集成测试获取失败? "ArgumentError: bad argument (expected URI object or URI string)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20776534/

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