zoukankan      html  css  js  c++  java
  • 单元测试之写用例(全局变量,异常处理,断言)

    时间久了,都快忘记了,写着练练。
    1
    from Excel.excel_1 import HttpRequests 2 import unittest 3 COOKIE=None#全局变量用法 4 #全局变量先None值赋予全局变量COOKIE 5 class TestHttp(unittest.TestCase): 6 def setUp(self): 7 print('开始执行用例') 8 9 def tearDown(self): 10 print('用例执行结束') 11 12 def test_correct_login(self):#正常登陆 13 global COOKIE 14 url='http://api.nnzhp.cn/api/user/login' 15 data = {'username': 'niuhanyang', 'passwd': 'aA123456'} 16 res=HttpRequests().http_requests(url,data,'post') 17 if res.cookies:#如果返回的res有cookie 18 COOKIE=res.cookies#就赋值给COOKIE,COOKIE是全局变量 19 try: 20 self.assertEqual(0,res.json()['error_code'],'登录错误')#为什么带有self,不可以直接assertEqual吗 21 #因为self 是unittest 得内置assert 必须继承unittest 得实例测试类 才可以用 22 except AssertionError as e: 23 print('用例test_correct_login执行出现{}错误'.format(e)) 24 raise e 25 #如果是错误用例就不会运行下一句了,如果没报错就会在通过的用例显示返回的响应正文 26 print('此条用例返回的响应正文是:', res.json())#可以再测试报告中显示返回的响应正文 27 28 def test_erroe_login(self):#错误登录 29 global COOKIE#声明是全局变量 30 url = 'http://api.nnzhp.cn/api/user/login' 31 data = {'username': 'niuhanyang', 'passwd': 'aA123456789'} 32 res = HttpRequests().http_requests(url, data, 'post') 33 try: 34 #json()['error_code']代表接口内res的json返回值中的error_code返回的值,然后和预期结果作对比 35 self.assertEqual(0,res.json()['error_code'],'登录错误')#预期结果,实际结果,报错信息 36 except AssertionError as e: 37 print('用例test_erroe_login执行出现{}错误'.format(e)) 38 raise e 39 #如果是错误用例就不会运行下一句了,如果没报错就会在通过的用例显示返回的响应正文 40 print('此条用例返回的响应正文是:', res.json())#可以再测试报告中显示返回的响应正文 41 42 def test_correct_recharge(self): 43 global COOKIE#声明是全局变量 44 url='http://api.nnzhp.cn/api/user/gold_add' 45 data={'stu_id':'1432','gold':'10000'} 46 res=HttpRequests().http_requests(url,data,'post',COOKIE)#全局变量 47 try: 48 self.assertEqual(0,res.json()['error_code'],'充值失败') 49 except AssertionError as e: 50 print('用例test_correct_recharge执行出现{}错误'.format(e)) 51 raise e 52 #如果是错误用例就不会运行下一句了,如果没报错就会在通过的用例显示返回的响应正文 53 print('此条用例返回的响应正文是:', res.json())#可以再测试报告中显示返回的响应正文 54 55 def test_error_recharge(self): 56 global COOKIE#声明是全局变量 57 url = 'http://api.nnzhp.cn/api/user/gold_add' 58 data = {'stu_id': '1432', 'gold': '-1'} 59 res=HttpRequests().http_requests(url,data,'post',COOKIE) 60 try: 61 self.assertEqual(0,res.json()['error_code'],'充值失败')#为什么带有self,不可以直接assertEqual吗 62 except AssertionError as e: 63 print('用例test_error_recharge执行出现{}错误'.format(e)) 64 raise e 65 #如果是错误用例就不会运行下一句了,如果没报错就会在通过的用例显示返回的响应正文 66 print('此条用例返回的响应正文是:', res.json())#可以再测试报告中显示返回的响应正文
  • 相关阅读:
    bom案例2-弹出层
    bom案例1-div拖拽
    bom-scroll
    bom-client
    bom-offset
    9. 阻塞队列
    8. 读写锁
    7. CountDownLatch、CyclicBarrier、Semaphore
    6. Callable
    5. 集合不安全
  • 原文地址:https://www.cnblogs.com/wuzhuangzhuang/p/13965790.html
Copyright © 2011-2022 走看看