Ruby on rails rails小型测试用例失败的原因

Ruby on rails rails小型测试用例失败的原因,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,minitest,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,Minitest,我的posts\u controller\u Test.rb文件: # test/controllers/posts_controller_test.rb require 'test_helper' class PostControllerTest < ActionController::TestCase def setup @post = Post.new end test 'should get index' do get :i

我的posts\u controller\u Test.rb文件:

# test/controllers/posts_controller_test.rb
require 'test_helper'

class PostControllerTest < ActionController::TestCase
    def setup
       @post = Post.new
    end

    test 'should get index' do
        get :index
        assert_response :success
        assert_not_nil assigns(:posts)
    end
end
.yml具备了我所需要的一切

params.require(:post).permit(:data, :value, :name) and obvious `user` for foreign key reference
编辑-1 建议使用
ApplicationController继承后

出现以下新错误:

 NameError: uninitialized constant ApplicationController::Base

 app/controllers/posts_controller.rb:3:in `<top (required)>'
    app/controllers/posts_controller.rb:3:in `<top (required)>'

错误是因为您从错误的类继承了控制器。改为从ApplicationController继承:

class PostsController < ApplicationController
  ...
end
class PostsController
谢谢您的回答。你能看一下编辑-2部分吗现在你问了一个完全不同的问题。如果这解决了您最初的问题,请将此答案标记为已接受并打开一个新问题。感谢您的帮助!我找出了它不起作用的原因,以及如何在测试用例中包含
为用户设计
会话。但这一次我遇到了稍微不同的问题。我的问题是:
 NameError: uninitialized constant ApplicationController::Base

 app/controllers/posts_controller.rb:3:in `<top (required)>'
    app/controllers/posts_controller.rb:3:in `<top (required)>'
class PostsController < ApplicationController::Base
class PostsController < ApplicationController
  NoMethodError: undefined method `authenticate!' for nil:NilClass
class PostsController < ApplicationController
  ...
end