Dar*_*Sun 1 ruby rspec ruby-on-rails factory-bot
坚持:
' undefined method `post' for #<Class:0x000001058c0f68> (NoMethodError)'
Run Code Online (Sandbox Code Playgroud)
关于测试控制器create动作.
我正在使用Rails 4,rpsec和Factory Girl
控制器:
def create
@post = Post.new(post_params)
@post.user_id = current_user.id
if @post.save
flash[:success] = "Yay! Post created!"
redirect_to root_path
else
# flash[:error] = @post.errors.full_messages
render 'new'
end
end
Run Code Online (Sandbox Code Playgroud)
测试:
describe '#create' do
post 'create', FactoryGirl.attributes_for(:post, user: @user)
response.should be_successful
end
Run Code Online (Sandbox Code Playgroud)
我认为方法块中post可以访问it方法:
describe 'create' do
it 'should be successful' do
post :create, FactoryGirl.attributes_for(:post, user: @user)
response.should be_success
end
end
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我认为你需要测试重定向,而不是success状态.
| 归档时间: |
|
| 查看次数: |
4799 次 |
| 最近记录: |