mock server搭建及接口测试简单实例

1、搭建mock serverjava

mock工具不少,这里咱们选择用简单易操做的moco服务器json

使用前必须先安装java,去相关网站下载Standalone Moco Runner服务器

 

2、使用mock serverapp

从最简单的hello world开始,使用json作为交互数据使用,编辑config.json为以下文件:dom

[
  {
    "request" :
      {
        "uri" : "/hello"
      },
    "response" :
      {
        "text" : "World!"
      }
  }
]

启动mock server工具

java -jar moco-runner-0.10.0-standalone.jar  http -p 12888 -c config.json

三:验证post

使用httpRequest相关发送get /hello,就会返回world网站

四:丰富接口后使用unittest、requests写的接口用例以下,包括了get、post、put和deletet接口,代码以下,有须要的能够参考:this

import unittest
import requests import json class TestInterFace(unittest.TestCase): def setUp(self): #print "xxxx" self.domain='http://localhost:12888' self.json_headers={"content-type":'application/json'} print "before each test" def tearDown(self): print "End One Testcase" def test_get_all_posts(self): print "test get all posts" result=requests.get(self.url_test("/posts")).json() self.assertEqual(len(result),3) print len(result) self.assertEqual(result[0]['title'],'first post') #print 'xxx' self.assertEqual(result[0]['url'],'/posts/1') self.assertEqual(result[-1]['title'],'how to learn interface test') self.assertEqual(result[-1]['url'],'/posts/3') def test_get_first_post(self): print "test get first post" result=requests.get(self.url_test("/posts/1")).json() self.assertEqual(len(result),2) self.assertEqual(result['title'],'first post') self.assertEqual(result['content'],'this is my first post') def url_test(self,path): return self.domain + path def test_create_post(self): #headers={"content-type":'application/json'} json_data=json.dumps({"title": "new post","content": "new post"}) result=requests.post(self.url_test('/posts'),data=json_data,headers=self.json_headers) print result.status_code print result.text self.assertEqual(result.status_code,200) self.assertEqual(result['sucess'],'true') def test_modify_post(self): headers={"content-type":'application/json'} json_data=json.dumps({"title": "new post","content": "new post"}) result=requests.put(self.url_test('/posts/1'),data=json_data,headers=self.json_headers) print result.status_code print result.text self.assertEqual(result.status_code,200) #self.assertTrue def test_delete_post(self): headers={"content-type":'application/json'} json_data=json.dumps({"title": "new post","content": "new post"}) result=requests.delete(self.url_test('/posts/2')) print result.status_code print result.text self.assertEqual(result.status_code,200) #self.assertTrue if __name__=='__main__': unittest.main() 
相关文章
相关标签/搜索