婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby配置rspec和RestClient來檢測服務器

Ruby配置rspec和RestClient來檢測服務器

熱門標簽:地圖標注賺錢項目注冊 湖州u友防封電銷卡 白銀外呼paas系統 電銷機器人廠商代理 百度地圖標注自定義圖片 徐州網絡外呼系統哪個好 高德地圖標注客服 常德電銷平臺外呼系統軟件價格 滴滴外呼系統

如果你手工測試Restful 服務將會是一件非常單調乏味的事情。當然,目前有一些瀏覽器插件可以通過可視化的界面幫助你手工測試,例如postman、rest console,但是每次系統版本更新,你都需要去手動執行大量的測試,顯然這種方式不是非常實用。Ruby擁有許多出色的gem包,你可以使用它們完成這項枯燥的工作。其中RestClient是我比較喜歡的一個。結合ruby的rspec框架使用RestClient可以編寫非常強大的測試腳本。假如Github想讓你測試他們的Restful API。你可能想做的第一件事就是確保端點返回你預計的響應代碼。開始前,你需要確認你已經安裝了相應的gems。 最便利的方式是使用bundler安裝:

 source "https://rubygems.org"

 gem 'rest-client'
 gem 'rspec'
 gem 'json_expressions'

在cmd(windows,linux/mac環境請自行解決)進入你創建gemfile文件的同層目錄,運行 'bundle'

rafs-computer:rafael$ bundle
Using diff-lcs 1.2.5
Using json_expressions 0.8.3
Using mime-types 2.3
Using netrc 0.7.7
Using rest-client 1.7.2
Using rspec-support 3.1.1
Using rspec-core 3.1.4
Using rspec-expectations 3.1.2
Using rspec-mocks 3.1.2
Using rspec 3.1.0
Using bundler 1.7.3
Your bundle is complete!

現在讓我們來驗證我們從用戶終端得到200響應:

require 'rspec'
require 'rest_client'

describe 'GitHub API' do
  
  it 'should return information about a user' do 
    result = RestClient.get 'https://api.github.com/users/rest-client', :content_type => :json, :accept => :json
    expect(result.code).to eq(200)
  end

end

在命令行執行rspec -f doc filename

因此返回碼是對的,但是我們如何知道返回的json也是對的呢?

有幾種不同的方式去驗證。一種方法是解析body中的json(由key,value組成),然后針對你要檢查的每個key創建斷言。這種方式可以使用,但是它需要你寫多個斷言而且是比較難于維護的。另外一種方法是和一個已知有效的json格式的數據文件比較。你可以使用json_expressions gem包去做這個事情。下面的例子是相同的spec文件。新增一個testcase用來驗證json數據。

首先準備一個users.json文件

{
 "login": "rest-client",
 "id": 2386701,
 "avatar_url": "https://avatars.githubusercontent.com/u/2386701?v=3",
 "gravatar_id": "",
 "url": "https://api.github.com/users/rest-client",
 "html_url": "https://github.com/rest-client",
 "followers_url": "https://api.github.com/users/rest-client/followers",
 "following_url": "https://api.github.com/users/rest-client/following{/other_user}",
 "gists_url": "https://api.github.com/users/rest-client/gists{/gist_id}",
 "starred_url": "https://api.github.com/users/rest-client/starred{/owner}{/repo}",
 "subscriptions_url": "https://api.github.com/users/rest-client/subscriptions",
 "organizations_url": "https://api.github.com/users/rest-client/orgs",
 "repos_url": "https://api.github.com/users/rest-client/repos",
 "events_url": "https://api.github.com/users/rest-client/events{/privacy}",
 "received_events_url": "https://api.github.com/users/rest-client/received_events",
 "type": "Organization",
 "site_admin": false,
 "name": "REST-Client Team",
 "company": null,
 "blog": "",
 "location": null,
 "email": null,
 "hireable": false,
 "bio": null,
 "public_repos": 1,
 "public_gists": 0,
 "followers": 0,
 "following": 0,
 "created_at": "2012-09-20T15:01:43Z",
 "updated_at": "2015-03-11T19:08:01Z"
}

然后編寫測試用例spec文件

require 'rspec'
require 'rest_client'
require 'json_expressions/rspec'


describe 'GitHub API' do

 it 'should return 200 when asking information about a user' do
  result = RestClient.get 'https://api.github.com/users/rest-client', :content_type => :json, :accept => :json
  expect(result.code).to eq(200)
 end

 it 'should return proper data for a user' do
  expected_data = JSON.parse(IO.read('users.json'))
  result = RestClient.get 'https://api.github.com/users/rest-client', :content_type => :json, :accept => :json
  expect(result).to match_json_expression(expected_data) 
 end

end

這個users.json文件包含了一個已知的響應。正如你可能猜到了,一些這樣的服務返回值可以改變很快。例如,"updated_at"是返回值可能經常變化的key。假如你只是想要驗證key是否存在,而不關心它的值,你可以增加如下的代碼到你的測試用例中。

it 'should return proper data for a user' do
  expected_data = JSON.parse(IO.read('users.json')) #解析users.json文件中的數據作為預期值 
  result = RestClient.get 'https://api.github.com/users/rest-client', :content_type => :json, :accept => :json
  # expect(result).to match_json_expression(expected_data) 
  expected_data['updated_at'] = wildcard_matcher
 end

標簽:梧州 遼寧 張家界 普洱 公主嶺 永州 荊門 三沙

巨人網絡通訊聲明:本文標題《Ruby配置rspec和RestClient來檢測服務器》,本文關鍵詞  Ruby,配置,rspec,和,RestClient,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby配置rspec和RestClient來檢測服務器》相關的同類信息!
  • 本頁收集關于Ruby配置rspec和RestClient來檢測服務器的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    乱一区二区av| 粉嫩久久99精品久久久久久夜| 精品伦理精品一区| 国产成人av一区二区| 亚洲午夜私人影院| 国产三级精品三级在线专区| 欧美视频一二三区| 成人手机电影网| 国产在线播放一区| 老汉av免费一区二区三区 | 精品免费国产一区二区三区四区| 一本色道久久综合亚洲aⅴ蜜桃 | gogogo免费视频观看亚洲一| 中文字幕第一区第二区| 国产成人精品综合在线观看 | 欧美日韩国产a| 免费观看30秒视频久久| 日韩免费高清视频| 国产福利一区二区三区在线视频| 国产精品色哟哟网站| 成人av在线电影| 一区二区三区美女| 国产丝袜欧美中文另类| 成人av免费在线观看| 亚洲二区在线视频| 日韩精品一区二区在线观看| 国产成人无遮挡在线视频| 亚洲女子a中天字幕| 欧美一区二区视频网站| 国产精品亚洲а∨天堂免在线| 亚洲黄色av一区| 久久欧美中文字幕| 欧美亚洲国产一区二区三区va| 日韩avvvv在线播放| 国产日本欧洲亚洲| 6080午夜不卡| 91女人视频在线观看| 激情文学综合网| 亚洲图片一区二区| 亚洲国产精品t66y| 日韩欧美国产一区二区三区| 91黄色免费网站| 成人av资源在线观看| 久久91精品国产91久久小草| 日韩久久久久久| xvideos.蜜桃一区二区| 中文字幕一区二区三| 欧美喷潮久久久xxxxx| 日韩一区二区精品在线观看| 国产亚洲精品中文字幕| 亚洲精品视频在线看| 天堂在线一区二区| 国产成人a级片| 91福利精品第一导航| 欧美一区二区三区白人 | 欧美国产国产综合| 蜜臀va亚洲va欧美va天堂| 欧美大胆人体bbbb| 91精品国产入口| 欧美色老头old∨ideo| 一本一道综合狠狠老| 懂色av一区二区三区免费看| 国内精品嫩模私拍在线| 老色鬼精品视频在线观看播放| 日韩不卡一二三区| 午夜视频一区二区| 午夜久久久久久久久久一区二区| 樱桃国产成人精品视频| 亚洲美女淫视频| 91精品国产品国语在线不卡| 这里只有精品电影| 欧美一级在线免费| 日韩美女一区二区三区| 日韩亚洲电影在线| 日韩欧美久久久| 精品88久久久久88久久久| 日韩你懂的在线播放| 欧美www视频| 久久久久国产精品人| 成人亚洲精品久久久久软件| a级高清视频欧美日韩| 精品福利一区二区三区免费视频| 亚洲一区二区在线观看视频| 丁香另类激情小说| 精品国产91乱码一区二区三区| 亚洲1区2区3区视频| 色呦呦一区二区三区| 国产精品乱码妇女bbbb| 国产精品18久久久久久久久| 日韩午夜激情视频| 日韩电影一二三区| 欧美精品亚洲一区二区在线播放| 一区二区在线免费观看| 91麻豆国产精品久久| 亚洲另类春色国产| 色婷婷av一区二区三区gif| 国产精品久久久久久久久久免费看| 精品一区二区在线播放| 欧美www视频| 国产99久久精品| 国产精品久久影院| 色94色欧美sute亚洲13| 亚洲女人小视频在线观看| 91免费国产在线| 亚洲美女电影在线| 91久久精品一区二区| 亚洲va欧美va国产va天堂影院| 国产精品久久久久久久蜜臀| 波波电影院一区二区三区| 国产精品久久99| 91九色最新地址| 性做久久久久久久免费看| 91精品一区二区三区久久久久久 | 91福利区一区二区三区| 国产精品久久久久久久久久久免费看 | 日本亚洲电影天堂| 国产精品午夜春色av| 亚洲激情图片一区| 成人黄色在线视频| 欧美精品三级在线观看| 国产亚洲精品中文字幕| 亚洲黄色尤物视频| 免费观看日韩av| 欧美私人免费视频| 久久中文娱乐网| 欧美日韩精品免费观看视频| 国产精品人人做人人爽人人添| 国精品**一区二区三区在线蜜桃| 91精品福利视频| 强制捆绑调教一区二区| 日韩视频一区二区三区在线播放| 美腿丝袜一区二区三区| 精品国产91九色蝌蚪| 国产成+人+日韩+欧美+亚洲| 亚洲综合色视频| 欧美精品免费视频| 五月婷婷综合在线| 日韩精品中文字幕一区二区三区| 另类成人小视频在线| 国产精品理伦片| 欧美亚洲综合久久| 五月婷婷激情综合网| 欧美不卡在线视频| 国产一区二区三区免费看| 精品国产自在久精品国产| 色欧美88888久久久久久影院| 一区av在线播放| 日韩免费高清av| 成人美女视频在线看| 欧美国产欧美综合| 精品久久久久久久人人人人传媒| 国产老肥熟一区二区三区| 中文字幕国产一区| 久久久久久一二三区| 亚洲一区二区三区爽爽爽爽爽 | 欧美一二三在线| 亚洲成人激情自拍| 色香蕉成人二区免费| 中文字幕成人在线观看| 亚洲va在线va天堂| 精品精品欲导航| 日韩福利视频导航| 5566中文字幕一区二区电影| 一区二区三区在线免费播放| av高清久久久| 国产精品色呦呦| 波多野结衣视频一区| 国产日韩欧美电影| 国产成人免费av在线| 欧美激情在线看| 亚洲不卡一区二区三区| 欧美在线综合视频| 国产真实乱偷精品视频免| 最近日韩中文字幕| 精品日韩一区二区三区| 88在线观看91蜜桃国自产| 99这里只有精品| 经典一区二区三区| 亚洲一区成人在线| 国产精品私人影院| 亚洲欧美国产高清| 欧美高清在线视频| 午夜精品久久久久久久久久| 久久女同精品一区二区| 欧美午夜片在线看| 99久久夜色精品国产网站| 国产一区二区三区在线观看免费| 国产精品99久久久久久久女警| 日本视频免费一区| 亚洲成在线观看| 亚洲午夜久久久久久久久电影院| 久久先锋影音av鲁色资源网| 欧美国产一区视频在线观看| 久久综合中文字幕| 日韩精品中文字幕在线不卡尤物| 91.麻豆视频| 欧美国产精品中文字幕| 国产亚洲精品中文字幕| 久久综合九色综合欧美98| 欧美不卡视频一区|