我正在使用rails 4开发rails API,我想测试它.为此,我使用的是Rspec框架.
@H_404_2@我的API有一个身份验证方法,如下所示:
class UsersController < ApplicationController # Token authentication before_action :set_user,except: [:index,:create] before_action :authenticate,:create] before_action :authenticate_admin,only: [:index,:create] ... end@H_404_2@然后我有我的UsersController Rspec:
describe UsersController do render_views describe "GET /users" do it "gets all users" do @request.env["AUTHORIZATION"] = "Token token=xxxxxxxxx" @request.env["HTTP_ACCEPT"] = "application/json" @request.env["CONTENT_TYPE"] = "application/json" get :index response.status.should be(200) end end end@H_404_2@当我执行测试时,它总是给我一样的:
UsersController GET /users getting all users Failure/Error: response.status.should be(200) expected #<Fixnum:401> => 200 got #<Fixnum:803> => 401 ...@H_404_2@我使用authenticate_or_request_with_http_token方法从标头中获取令牌. @H_404_2@如果有人可以帮我找到跳过before_action方法或正确设置Authentication头的方法,我将非常感激. @H_404_2@谢谢!