• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ruby做接口测试

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一. 工具选择

  IDE:rubymine;http接口请求:Unirest,ruby单元测试框架:rspec

 

二.工程创建

  新建工程,在工程目录下,执行:rspec --init;初始化rspec工程

  

 

  可以看到工程下生成了两个文件.rspec和spec/rspec_helper.rb

  .rspec(用于命令行参数的配置)

  rspec_helper.rb(用于rspec工程的全局公共的一些配置)

 

三.编写测试脚本(以天气查询接口为例)

  rspec_helper.rb文件末尾中导入rspec,unirest的gems包,并定义参数导入方法

require 'unirest'
require 'rspec'

def load_data(file)
  load file
  data
end

  创建data.rb文件用于存放脚本中的参数

def data
  @weather_host = 'https://www.sojson.com'
  @beijing = '北京'
  @hangzhou = '杭州'
end

   创建测试文件weather_spec.rb(注意一定要以_spec为结尾,rspec默认是以这个来识别测试文件的)

describe '天气接口' do

  before(:all) do
    load_data(__dir__+'/data.rb')
  end

  it '查看北京天气' do
    parameters = {city:@beijing}
    response = Unirest.get(@douban_host+'/open/api/weather/json.shtml', parameters:parameters)
    puts response.body
    expect(response.body['city']).to match /北京/i
  end

  it '查看杭州天气' do
    parameters = {city:@hangzhou}
    response = Unirest.get(@douban_host+'/open/api/weather/json.shtml', parameters:parameters)
    puts response.body
    expect(response.body['city']).to match /北京/i
  end
end

这样一个简单的测试脚本就写好了

四.用例执行(类似于pycharm执行unittest)

  1. rubymine执行:
    单个用例

    或者


    单个测试集(下图方法或者脚本中选到用例外的区域右键执行)

  2. 命令行执行
    工程目录下,cmd执行rspec命令执行本所有用例,具体参数可以通过rspec -h查看


    参数可以写到.rspec文件中去

    这样就生成了rspec的测试报告(测试报告可以改源码自己优化或者jenkins集成的时候使用其他风格的报告)

 

五.注意点:

1.ruby安装时,设置环境变量(不然命令行下发有中文会认为是GBK编码,产生编码错误):

 

 2.rubymine设置(不然返回结果有中文的时候,rubymine上执行结果显示出来是乱码的)

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
RAILS 4 ON RUBY的AJAX实现过程发布时间:2022-07-14
下一篇:
ruby保留字发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap