Rails功能测试:如何测试Admin :: PostsController

Mar*_*elo 6 testing tdd ruby-on-rails

我有一个如下控制器:

namespace :admin do
  resources :posts
end


# app/controllers/admin_posts_controller.rb
module Admin
  class PostsController < ApplicationController
  end
end
Run Code Online (Sandbox Code Playgroud)

问题是我不知道Admin::PostsControllerTest去哪儿了.

我期待以下作品:

# test/functional/admin/posts_controller_test.rb
module Admin
  class PostsControllerTest < ActionController::TestCase
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,运行时会出现以下错误rake test:functionals:

RuntimeError: @controller is nil: make sure you set it in your test's setup method.
Run Code Online (Sandbox Code Playgroud)

mik*_*ked 10

你有合适的位置.试试这个:

class Admin::PostsControllerTest < ActionController::TestCase
  #put your tests here
end
Run Code Online (Sandbox Code Playgroud)