一、unittest主要属性介绍:
unittest.TestCase:TestCase类,所有的测试用例类都继承的基类。
unittest.TestSuite():TestSuite()类是用来创建测试套件的。(可以一个模块归为一个测试套件,方便执行和管理)
unittest.main():将一个单元测试模块变为可直接运行的测试脚本,执行所有“test”命名开头的测试方法。
unittest.skip():装饰器,当遇到不需要执行的yongli时,可用装饰器暂时屏蔽该条测试用例。
二、基本使用:
1、创建一个测试类,继承 unittest.TestCase,可定义初始化和清理测试环境的方法:setUp() 和 setDown()
2、所有测试用例的方法都必须以“test”开头命名。
eg:
1、setUp方法启动浏览器和进行登录操作;tearDown方法销毁浏览器句柄。
2、以test开头命名测试用例:
3、用例执行:可通过unittest.main()执行用例(注:这里只执行以test开头的测试方法)
if __name__ == '__main__':
unittest.main()
4、强制跳过用例不执行:在测试方法名前添加装饰器@unittest.skip('暂时不执行')
@unittest.skip(reason): 无条件跳过装饰的测试,并说明跳过测试的原因。
eg:
5、使用assert断言,判断执行结果是否满足预期。
(1)断言结果是否相等:assertEqual(first, second)
(2)断言结果是否包含某个内容:assertIn(member, container)
断言的种类:
6、测试套件使用:也可以创建一个测试套件,向测试套件里面添加测试用例。
7、执行测试套件的用例:
runner = unittest.TextTestRunner()
runner.run(suite)