前言:
今天大家对“python unittest原理”大致比较看重,你们都想要剖析一些“python unittest原理”的相关知识。那么小编也在网摘上汇集了一些对于“python unittest原理””的相关知识,希望大家能喜欢,各位老铁们一起来学习一下吧!本章主要内容:
● unittest介绍
● unittest组织测试用例
● unittest的断言语句
● unittest执行测试用例
● unittest结果报告输出
一、Unittest介绍
Unittest是xUnit系列框架中的一员,它是Python自带的单元测试框架。可以用于自动化测试。
提供用例组织与执行方法提供丰富的断言方法提供丰富的日志二、unittest组织测试用例
1.Unittest库中的基本组件
unittest.TestCase(): 所有测试用例类继承的基本类,一个类只要继承了unittest中的TestCase类就是一个测试用例类,可以在此类中写测试用例。unittest.TestSuite(): 用来创建测试套件,其中有一个addTest()方法可以将一个或多个测试用例添加到测试套件中,先添加的哪个方法就先运行哪个方法;unittest.defaultTestLoader(): 通过该类下面的discover()方法可自动根据测试目录start_dir匹配查找测试用例模块, 并将查找到的测试用例组装到测试套件;unittest.TextTestRunner(): 通过该类中的run()方法来运行suite所组装的测试用例;
2.unittest工作原理
3.TestCase类中的常用方法
▲ setUp():
用于测试用例执行前的初始化。如:可以在setUp中建立数据库连接并进行初始化。
▲ tearDown():
用于测试用例执行之后的善后工作,如:关闭数据库连接,关闭文件;
▲ assert*():
断言方法,相当于if-else里面的条件判断,在执行测试用例的过程中,最终用例是否执行通过,通过判断实际结果和预期结果是否一致决定的;
三、unittest的断言语句
1.Unittest的断言
2.unittest的运行
四、unittest执行测试用例
1.unittest执行测试代码
● pycharm运行
运行整个项目(文件以test开头)
整个目录
整个测试文件
整个测试类(类继承TestCase)
指定测试方法(满足测试方法要求)
● 命令行运行:
python -m unittest MODULE/CLASS/FUNCTIONpython filename五、unittest结果报告输出
1.unittest结果输出
● unittest自带文本形式输出
runner = unittest.TextTestRunner(stream=logfile,verbosity=2)runner.run(suite)
● 第三方插件HTMLTestRunner
runner = HTMLTestRunner.HTMLTestRunner(stream=reportfile, title="自动化测试报告")runner.run(suite)
● 第三方插件BeautifulReport
runner = BeautifulReport(suite)runner.report(filename='test', description='测试报告-试用')
2.unittest运行示例
● 运行方式1:
suite = unittest.TestSuite():suit.addTest(LoadTest('test_case_01'))suit.addTest(LoadTest('test_case_02'))runner = unittest.TextTestRunner()
● 运行方式2:
suite = unittest.TestSuite():suite.addTest(unittest.makeSuite(FirstPage11))runner = unittest.TextTestRunner(stream=logfile,verbosity=2)runner.run(suite)
● 运行方式3:
suite = unittest.TestSuite()discover = unittest.defaultTestLoader.discover("basic/", pattern='test*.py')run = BeautifulReport(discover)run.report(filename='test', description='测试报告-试用')
标签: #python unittest原理