首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python unittest学习记录

最近公司一个项目需要进行API测试,我一看一共有十几个接口,一个接口有二三十个用例要测,当时就犯了难了,这得要写多久才能开发完呀。有个同事提醒要用unittst或pytest框架,我之前没用过都不知道是什么东西。经过几天边学习边开发,终于搞懂了unittest框架,在这里记录一下学习成果。

unittest框架介绍

unittest是python自带的一个标准库,就想Java的测试框架Junit,是一个单元测试框架,不仅仅用来进行单元测试,也可以进行自动化测试。

编写规则

模块名和文件名

模块名和文件名没有要求,如果文件较多,最好使用相同的格式,比如test_开头,方便后面使用。

测试类

测试类必须导入unittest,测试类必须继承unittest.TestCase,方法名以test_开头,按ASCII码顺序排列,因为测试运行顺序是按ASCII进行的。

核心要素

测试用例TestCase

这里的测试用例是一个继承unittest.TestCase的类,类里的方法才是我们平常测试的测试用例。如下所示:

测试套件Testsuite

测试套件可以看作测试用例的集合,可以把测试用例加入到测试套件中。如下所示

测试运行器TestRunner

测试运行器,run方法运行进行测试。如下所示

测试加载器TestLoader

加载查找测试用例。还可以通过unittest属性调用默认加载器进行加载查找,discover(test_dir, pattern='test*.py')通过文件所在目录加载查找测试用例并加到套件中,如下所示

测试夹具Fixture

测试夹具类似一个测试环境的容器,可以对测试环境进行初始化和销毁。有三个控制级别,方法级别,类级别,模块级别,常用的是方法级别和类级别,方法级别每个方法执行前后都会执行,类级别整个类执行的前后执行。

断言

判断测试用例结果是否符合预期,符合通过测试,否则测试不通过。

常用的断言

测试方法

命令行执行

python -m unittest 文件路径,如下所示

.表示测试通过,F表示测试失败

如果有main方法如下所示

也可以像以前一样使用 "python 文件路径 "命令进行执行,如下所示

后记

做到自动化测试还需要参数自动化,自动生成测试报告,后面有时间再记录

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221222A08TT700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券