我只想在控制器规范上测试 ajax 请求。产品代码如下。我正在使用设计进行身份验证。
class NotesController < ApplicationController
def create
if request.xhr?
@note = Note.new(params[:note])
if @note.save
render json: { notice: "success" }
end
end
end
end
规格如下。
describe NotesController do
before do
user = FactoryGirl.create(:user)
user.confirm!
sign_in user
end
it "has a 200 status code" do
xhr :post, :create, note: { title: "foo", body: "bar" }, format: :json
response.code.should == "200"
end
end
我希望响应代码是 200,但它返回 401。我想这一定是因为 rspec 抛出的请求缺少authenticity_token 或其他东西。我该如何存根?
任何帮助将不胜感激。