Ruby on rails rails小型测试用例失败的原因
我的posts\u controller\u Test.rb文件: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
# 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