基于python的unittest框架下的put get delete post 4种请求方式使用

#coding:utf-8
#print u"中文"#print函数:中文前带有u,文字变成草绿色,没有则变成黄绿色,2者都可以
import requests
import unittest
import json

class TestBlog(unittest.TestCase):
    def setUp(self):
        #全局变量配置表,方便后续用例进行调用
        self.get_all_blogs_url="http://localhost:12306/get_all_posts"
        self.get_a_comment_url="http://localhost:12306/get_a_comment"
        self.create_blog_url="http://localhost:12306/create_a_blog"
        self.edit_blog_url="http://localhost:12306/edit_first_blog/2"
        self.delete_blog_url="http://localhost:12306/delete_first_blog/1"

        self.headers = {"Content-Type": "application/json"}
        print u"###用例初始结束###"
    def tearDown(self):
        print u"###用例执行结束结束###"
    def test_get_all_blogs(self):
        result_01_code=requests.get(self.get_all_blogs_url,data={}).status_code#①因为是mock的不需要auth=("xxx","xx");
        result_01 = requests.get(self.get_all_blogs_url, data={}).json()
        self.assertEqual(200,result_01_code,u"①获取所有blogs失败")#断言提示语必须加u,否则中文报乱码
        self.assertEqual("/get_all_posts",result_01[0]["url"],u"②获取所有blogs失败")#断言提示语必须加u,否则中文报乱码
        self.assertEqual("/get_one_post", result_01[1]["url"], u"③获取所有blogs失败")  # 断言提示语必须加u,否则中文报乱码
        self.assertEqual(2,len(result_01),u"④获取所有blogs失败")#返回的结果是列表,一定要判断长度


    def test_get_a_comment(self):
        result_01_code=requests.get(self.get_a_comment_url).status_code
        result_01=requests.get(self.get_a_comment_url,data={}).json()
        self.assertEqual(200,result_01_code,U"①获取评论失败")#content==str,json()==dict,text==unicode
        self.assertEqual("chengpeisheng",result_01["author"],u"②获取评论失败")
        self.assertEqual("this is my first blog!",result_01["comment"],u"③获取评论失败")

    def test_create_blog(self):
        json_data=json.dumps({"title":"food","comment":"milk is very teasty!"})
        result=requests.post(self.create_blog_url,data=json_data,headers=self.headers)
        self.assertEqual(200,result.status_code,u"创建blog成功")
        self.assertEqual("success",result.json()["result"],u"获取blog成功")



    def test_edit_blog(self):
        json_data=json.dumps({"title":"food","comment":"milk is very teasty!"})#将字典转化为json格式的字符串
        result=requests.put(self.edit_blog_url,data=json_data,headers=self.headers)#url:字符串,data:字符串,headers:字典
        self.assertEqual(200,result.status_code,u"编辑blog失败")
        self.assertEqual("success",result.json()["result"],u"编辑blog失败")

    def test_delete_blog(self):
        result=requests.delete(self.delete_blog_url)#返回结果
        self.assertEqual(200,result.status_code,u"删除blog成功!")
        self.assertEqual("success",result.json()["result"],u"删除blog成功!")#将json结果转化为字典进行断言


if __name__ == "__main__":
    unittest.main()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值