unittest模块,unittest自动化测试框架
Unittest测试框架,unittest测试框架的四个核心组件,testcasetestfixuretestrunnerassert impress
Unittest测试框架
在编写接口自动化测试用例时,如果不采用unittest单元测试框架,那么需要为每个接口创建一个. py文件,然后将接口的一个测试用例封装成一个函数在其中。在批量执行的过程中,如果出现错误,下面的测试用例就无法执行。
为了更方便的加载和执行控制测试用例,python语言提供了unittest unittest框架,测试用例在unittest框架下编写,可以使测试用例单独运行或批量运行,互不影响,管理更加灵活。
数据驱动ddt可以将测试数据从测试脚本中分离出来,通过ddt将测试数据加载到脚本中。采用数据驱动的设计模式,将一组数据对应一个测试用例,测试用例自动加载生成。
四个核心组件TestCase:测试用例类。这个类是写测试用例脚本时继承的,测试用例方法都是以test: TestSuite:测试用例集开头。TestRunner:用于执行测试用例,并返回测试用例的执行结果。它能以图形或文本的方式直观地显示测试结果。HTMLTestRunner用于生成图形报告,TextTestRunner用于生成简单的文本测试结果。测试夹具:测试夹具。用于测试用例的预初始化和后执行销毁。测试用例。py测试用例文件必须以test开头。用于标识测试用例文件和编写测试用例的类必须继承unittest。TestCase测试类中测试用例的方法名必须以test开头,用来标识测试用例的数量。(09,AZ,a~z) Testfixure测试夹具是在从test开始的方法之后,根据Ascill代码序列执行的。主要指用例提前初始化和执行后的销毁级别:setup()和tear down();方法级:setUpClass()和teardown class();setup()和teardown()应该在每个测试用例执行前后运行一次;方法级,所有测试用例从执行到完成只运行一次。setUpClass()和teardown class()test suite UnitTest框架提供了UnitTest。TestSuite()和unittest。TestLoader()类,封装了加载测试用例的方法,用于将测试用例加载到测试集中。
12.单元测试。TestSuite()提供了一个单一的用例加载方法。
AddTest():加载单个用例。当然,你可以在addTest()列表中添加多个用例的方法名来加载多个测试用例。
13.单元测试。TestLoader()提供了一种批量加载或发现用例的方法。
LoadTestsFromTestCase:添加一个测试类。
LoadTestsFromModule(模块名):添加模块
Discover(测试用例所在的目录):指定要加载的目录,自动找到该目录下所有符合命名规则的测试用例。
单元测试。测试套件()
Add():添加单个addTest case方法
AddTest([…]):添加多个测试用例方法,有方法名列表。
单元测试。测试加载程序()
LoadTestsFromTestCase:添加一个测试类。
LoadTestsFromModule(模块名):添加模块
Discover(测试用例所在的目录):指定要加载的目录,自动找到该目录下所有符合命名规则的测试用例。
TestRunner testrunner用于执行测试用例,并生成相应的测试报告。
检测报告可以以两种形式呈现,一种是文本文本,一种是html格式。
HTMLTestRunner是Python标准库unittest框架的扩展,可以生成直观清晰的HTML测试报告。使用的前提是下载HTMLTestRunner.py,然后放在python的安装目录的Lib目录下。
Assert unittest提供了丰富的断言方法。
Impront unittest由四个核心部分组成,分别是testcase、testsuite、testfixure和testrunner。
对于testcase,一个基本类unittest.testcase用于创建测试用例。一个规则是方法名必须以test开头,以标识测试用例的数量。
对于testsuite,它表示一组测试用例,并存储要一起执行的测试用例的类以便执行。
Testfixure用于在执行前初始化用例,在执行后销毁用例。一个是测试方法维度的setUp()和tearDown()。
另一个是以测试类为维度的setupClass()和teardownClass()。
TestRunner用于执行测试用例并生成测试报告。将HTMLTestRunner放在python安装目录的scripts目录下,运行生成测试报告。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。