python断言异常处理
python断言异常处理一个用例需要可能会断言多个地方,如果第一个地方断言失败了,后面的几个地方就不去断言了,这样如何处理,用异常处理吗?如何去写?
结果:
{'resultCode': 3, 'body': '', 'errMsg': '验证码错误'}
断言1失败的
self.assertEqual(r.json()['resultCode'],1)
断言2 没有执行并未做断言
self.assertEqual(r.json()['errMsg'],'验证码错')
不知道是否可以用,或许可以试试这种方法呗。
try:
断言语句
except:
抛异常
finally:
结束 想法很好。不过你不能写多个test方法吗?不然报告也很难看。 想不让错误抛出 就去捕获它 这样就能继续运行下去了 python写法是try except zhuliu 发表于 2017-10-11 17:22
想法很好。不过你不能写多个test方法吗?不然报告也很难看。
一个test用例也有可能断言2次,第1次断言失败了,第2次断言就不执行了吧?然后如何处理呢?
我是用的ddt同样的方法会重复执行多次,不需要写多个test
import unittest
import requests,json,time
import ddt
from ddt import data,unpack
import xlrd,xlwt,json,excel
import excel
@ddt.ddt
class Test(unittest.TestCase):
'''登录'''
data=excel.excel_data('登录')
def setUp(self):
pass
def tearDown(self):
pass
@ddt.data(*data)
@ddt.unpack
def test_login(self,name,case,url,headers,data,respone):#封装登录函数
r=requests.post(url=url,headers=eval(headers),data=eval(data))
print(r.json())
self.assertEqual(r.json()['resultCode'],3)
print(1)
self.assertEqual(r.json()['errMsg'],'验证码错误')
if __name__=='__main__':
unittest.main() Real_小T 发表于 2017-10-12 10:21
想不让错误抛出 就去捕获它 这样就能继续运行下去了 python写法是try except
如果断言1失败,捕捉了异常继续进行断言2,测试报告断言1会显示成功的吗? 神仙也考试 发表于 2017-10-11 15:51
不知道是否可以用,或许可以试试这种方法呗。
试了可以
如果断言1失败了,捕捉了异常继续进行断言2,测试报告里面断言1会显示成功的吗? 黑盒测试 发表于 2017-10-12 14:41
如果断言1失败,捕捉了异常继续进行断言2,测试报告断言1会显示成功的吗?
会啊 捕获就意味着无视错误了 Real_小T 发表于 2017-10-13 09:17
会啊 捕获就意味着无视错误了
那不行啊 断言1失败 捕捉了异常 测试报告就显示了成功,那测试报告不就没作用了
页:
[1]