【问题标题】:How do you test namespace post :post routes?你如何测试命名空间 post :post 路由?
【发布时间】:2011-03-06 01:04:00
【问题描述】:

我有这些路线

# routes.rb
namespace :admin do
  resources :departments
end

以及控制器测试中的以下代码。它失败了,因为 post :create 没有前往 admin_departments_path。正确的写法是什么?

# test/functional/admin/departments_controller_test.rb 
# ActionController::RoutingError: No route matches (FAIL)
post :create, :department => @new_department.attributes

【问题讨论】:

  • rake routes 对您生成的路线有何看法?
  • rake routes 给了我 admin_departments (GET & POST)。这我已经知道了,我只是不确定如何测试这篇文章:创建,:部门(我在哪里放置“管理”部分)
  • 告诉我们什么是(FAIL),这会很有帮助。
  • 测试类是否包含命名空间?例如。 class Admin::DepartmentsControllerTest < ActionController::TestCase
  • @zetetic:您可能希望使用评论中的信息创建一个答案,以便 Ed_ 可能会接受它。然后,这个问题将不会被列在未回答的问题中,也不会提高我寻找容易猎物的希望;)

标签: ruby-on-rails ruby-on-rails-3 rails-routing


【解决方案1】:

控制器测试是不必要的痛苦,并且与实现的耦合过于紧密。不要使用它们。

执行此操作的正确方法是编写一个 Cucumber 场景,将内容发布到表单,然后检查您是否最终到达了您想要的页面。

【讨论】:

    猜你喜欢
    • 2015-05-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    • 2019-11-30
    • 2010-12-18
    • 2010-09-19
    相关资源
    最近更新 更多