gpt4 book ai didi

ruby-on-rails - Rails 测试在明显存在的情况下无法找到路线?

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:21 24 4
gpt4 key购买 nike

好吧,我累了,而且是 Rails 的新手,所以可能缺少一些非常基本的东西。无论如何,我刚刚开始一个新项目,正在为静态页面实现一个简单的 Controller 。写了一些单元测试只是为了确保我所有的路线都是正确的(目前只有 4 个)。其中三个通过了,但第四个给了我这个错误信息:

  1) Error:
StaticPagesControllerTest#test_terms_of_service_should_return_success:
ActionController::UrlGenerationError: No route matches {:action=>"terms", :controller=>"static_pages
"}
test/controllers/static_pages_controller_test.rb:18:in `block in <class:StaticPagesControllerTes
t>'

它说它找不到路线。但是,当我 rake 路线时,它显然存在:

  about GET  /about(.:format)   static_pages#about
contact GET /contact(.:format) static_pages#contact
privacy GET /privacy(.:format) static_pages#privacy
terms GET /terms(.:format) static_pages#terms_of_service

这是 routes.rb 的一部分:

  get 'about' => 'static_pages#about'
get 'contact' => 'static_pages#contact'
get 'privacy' => 'static_pages#privacy'
get 'terms' => 'static_pages#terms_of_service'

这是失败测试的代码:

 test "terms_of_service should return success" do
get 'terms'
assert_response :success
assert_select 'title', "Terms Of Service"
end

我可以直接在浏览器中访问 localhost:3000/terms 并且它有效。知道这里发生了什么吗?

最佳答案

Controller 测试不测试路由,测试操作。你想要:

get 'terms_of_service'

关于ruby-on-rails - Rails 测试在明显存在的情况下无法找到路线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31302509/

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