grape api单元测试

本文推荐了两个关于RSpec和Rails的资源,包括GitHub仓库和官方文档链接。作者分享了一个Grape API的单元测试实例,通过在Gemfile中添加新gem,安装并初始化测试目录,然后编写单元测试代码,最后执行测试。提供了测试的主要步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

推荐两个网址:

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值