Ruby on rails Rspec ArgumentError,未定义对象
为什么我会得到下面的错误? 在控制台中运行rspec测试时,我得到一个错误,即“post”未知。但失败的代码行的结构如下:Ruby on rails Rspec ArgumentError,未定义对象,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,为什么我会得到下面的错误? 在控制台中运行rspec测试时,我得到一个错误,即“post”未知。但失败的代码行的结构如下: post :create, valid_params 因此: it "assigns the new post to @post" do post :create, post: {title: RandomData.random_sentence, body: RandomData.random_paragraph} expect(assigns(:post)).
post :create, valid_params
因此:
it "assigns the new post to @post" do
post :create, post: {title: RandomData.random_sentence, body: RandomData.random_paragraph}
expect(assigns(:post)).to eq Post.last
end
这里是错误
1) PostsController POST create assigns the new post to @post
Failure/Error: post :create, post: {title: RandomData.random_sentence, body: RandomData.random_paragraph}
ArgumentError:
unknown keyword: post
如果您使用的是Rails 5,那么您需要将
post
对象包装在params
关键字参数中,请尝试:
post :create, params: { post: { title: RandomData.random_sentence, body: RandomData.random_paragraph } }