grape api单元测试

推荐两个网址:

https://github.com/rspec/rspec-rails

http://rspec.info/documentation/

上传了一个api的单元测试,https://github.com/shiralwz/grape_api_rspec

主要步骤:

(1)在Gemfile里加入新gem

gem 'rspec-rails', '~> 3.0'

(2)Download and install by running

bundle install

(3)Initialize the spec/ directory (where specs will reside) with

rails generate rspec:install

运行这个命令会自动生成以下三个文件

  • .rspec
  • spec/spec_helper.rb
  • spec/rails_helper.rb

(4)新增单元测试的代码

(5)执行

bundle exec rspec  spec/...

============================

对api的单元测试代码

require 'rails_helper'

RSpec.describe "helloAPI",type: :request do
  describe "GET the /api/hello" do
    it 'should return correct response via GET' do
      get '/api/hello', name: 'Mike'
      expect(response).to be_success
      expect(response).to have_http_status(200)
      body = JSON.parse(response.body)
      body['message'] == 'Hello Mike via GET'
    end 
  end 

  describe "POST the /api/hello" do
    it 'should return correct response via POST' do
      post '/api/hello', name: 'Mike'
      expect(response).to be_success
      expect(response).to have_http_status(200) //这里由于在api里设置了200所以检测200,默认是201
      body = JSON.parse(response.body)
      body['message'] == 'Hello Mike via POST'
    end 
  end 
end
 
原文地址:https://www.cnblogs.com/iwangzheng/p/4871974.html