1.unittest是什么?
unittest是python内置的单元测试框架,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件。
单元测试框架的优点:
一般来说不用单元测试框架也能编写单元测试,因为单元测试本身就是通过一段代码去验证另一段代码,所以不用单元测试框架也能编写单元测试。只是使用框架时会有更多的优点
提供用例组织与执行:
当测试用例达到成百上千条时,就产生了扩展性与维护性等问题,此时就需要考虑用例的规范与组织问题了。单元测试框架便能很好的解决这个问题
提供丰富的比较方法:
不论是功能测试还是单元测试,在用例完成之后都需要将实际结果与预期结果进行比较(断言),从而断定用例是否执行通过。单元测试框架一般会提供丰富的断言方法。例如:相等\不相等,包含\不包含,True\False的断言方法等
提供丰富的日志:
当测试用例执行失败时能抛出清晰的失败原因,当所有用例执行完成之后能提供丰富的执行结果。例如,总执行时间、失败用例数、成功用例数等
2.断言方法
python unintest单元测试框架提供了一整套内置的断言方法。
1.如果断言失败,则抛出一个AssertionError,并标识该测试为失败状态
2.如果异常,则当做错误来处理
注意:以上两种方式的区别
3.如果成功,则标识该测试为成功状态
在unittest框架中定义了哪几类断言方法:
1.基本的Boolean断言,即:要么True,要么False的验证
2.简单比较断言,例如比较a,b两个变量的值
3.复杂断言
基本断言方法
基本的断言方法提供了测试结果是True还是False。所有的断言方法都有一个msg参数,如果指定msg参数的值,则将该信息作为失败的错误信息返回。