【问题描述】
计算器测试-除数异常测试,除零异常ZeroDivsionError从yml文件中读取,参数类型为字符串类型,参数如下,测试用例执行失败
参数值直接传入ZeroDivsionError,参数类型为<class ‘ZeroDivsionError’>,测试用例执行通过
这种情况要怎么处理,把字符串’ZeroDivsionError’转换为<class ‘ZeroDivsionError’>,使用例测试通过;
成功测试用例脚本:
@pytest.mark.parametrize("a,b,error", [[1, 0, ZeroDivisionError]], ids=["除数为0"])
def test_div2(self, get_calc, a, b, error):
logging.info(f"测试除数为0功能:参数:{a, b, error}")
try:
result = get_calc.div(a, b)
except(error):
logging.error("除数为0")
pass
失败测试用例脚本:
@pytest.mark.parametrize("a,b,error", [[1, 0, 'ZeroDivisionError']], ids=["除数为0"])
def test_div2(self, get_calc, a, b, error):
logging.info(f"测试除数为0功能:参数:{a, b, error}")
try:
result = get_calc.div(a, b)
except(error):
logging.error("除数为0")
pass