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