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()