我是Ruby on Rails中一個初學者(英文:)),我嘗試使用功能測試,但我在拳功能測試:NomethodError
1)Error:
test_should_get_new(MicropostControllerTest)
NoMethodError: undefined method 'microposts' for nil:NilClass
我micropost_controller_test.rb錯誤
require 'test_helper'
class MicropostControllerTest < ActionController::TestCase
test "should get new" do
get :new
assert_response :success
end
end
我micropost_controller.rb
class MicropostController < ApplicationController
def new
@post = Micropost.new
@posts = current_user.microposts.all
end
def create
@post = current_user.microposts.create(:content => params[:content])
logger.debug "New post: #{@post.attributes.inspect}"
logger.debug "Post should be valid: #{@post.valid?}"
if @post
redirect_to micropost_new_path
else
end
end
end
我試圖把東西microposts.yml,但沒有奏效。 所以,我可以找到功能測試microposts方法,我該如何解決?請幫幫我?
P/S:我的應用程序仍然在本地主機
'current_user'返回'nil'。 – 2014-10-28 10:30:33
@mayoneQD你在控制器中提到'current_user',但是在測試控制器規範中你沒有指定任何用戶,所以它是空的嘗試在執行測試之前定義'user' – anusha 2014-10-28 10:53:12
@anusha謝謝,我理解,但是我試圖設置用戶=用戶(:一),但它沒有工作 – mayoneQD 2014-10-29 02:33:46