我想测试一个创建操作,其中用户通过远程API进行身份验证。因此,我没有用户模型。我在rspec中有这个:
describe "POST create" do
before { post :create, :user => {username: "john", password: "password"} }
it { expect(response).to be_success }
end
这不起作用。我看了这个rspec文档但找不到任何东西。我该如何解决这个问题?
答案 0 :(得分:0)
我认为这是一个控制器规范,如果你喜欢它,它应该工作:
RSpec.describe UserControler, type: :controller do
describe 'POST #create' do
it 'creates a new user' do
expect {
post :create, user: { username: 'john', password: 'password' }
}.to change(User, :count).by(1)
end
end
end
要检查请求是否成功,您可以执行以下操作:
it 'creates a new user' do
post :create, user: { username: 'john', password: 'password' }
expect(response).to be_success
end
希望这会有所帮助:)
答案 1 :(得分:0)
帖子行必须在其中
describe "POST create" do
before { }
it "returns 200 OK" do
post :create, :user => {username: "john", password: "password"}
expect(response).to be_success
end
end