Python unittest 之三: 测试套件

Assert系列方法

我们来看测试方法里面的assert方法

测试需要要检查某个结果是否符合预期, 这个检查点 就是通过 TestCase方法的assert系列的函数实现的。

我们来看看有哪些函数
在这里插入图片描述
稍微懂些英文,这些方法的意思一目了然,不需要多介绍了。大家可以根据测试的需求选用

套件

通常我们执行测试用例的时候,

如果只是要执行某个测试模块文件里面的所有测试用例,只需要

python -m unittest testFile.py

就可以了。

打开ut/test2.py, 解释执行一下python -m unittest test2.py

完成了 所有用例类里面 所有测试方法的执行

执行这个命令python -m unittest testFile.py看起来简单,其实框架帮我们完成了很多事情, 我们还不知道。

我们现在大体了解一些基本的 步骤:

一个TestCase的实例就是一个测试用例

TestSuite可以层层嵌套包含TestSuite和TestCase

这些都是代码中我们定义好的,我们自己可以实现,当然也明白。

但是在执行的过程中,还涉及到几个模块,是底层偷偷创建的, 我们还没有看到

一个是TestLoader,它是 用来加载TestCase和TestSuite的。

我们定义的套件和套件里面的用例要能执行, 必须要通过TestLoader加载。

无需我们自己创建TestLoader实例,unittest模块帮我们预先创建好了一个TestLoader的实例,内置在变量defaultTestLoader中,就是指向它,

一个是TestRunner,它是来执行测试用例的,比如TextTestRunner

测试的结果保存到TestResult实例中,比如TextTestResult,包括运行了多少测试用例,成功了多少,失败了多少等信息。

示意图如下:
在这里插入图片描述
我们执行这个命令python -m unittest test1.py

ut框架会自动用defaultTestLoader 加载该模块文件中的所有 用例类和里面的测试方法。

然后创建一个TextTestRunner的实例, 并且执行defaultTestLoader加载的用例和套件

最后将结果保存在一个TextTestResult的实例中。

多个模块文件

上面我们说的执行测试,用例都是在一个模块文件中的。

但是有的时候,我们要执行的测试用例,

可能不止在一个模块文件中, 而是在多个模块文件里面

那么这些多个测试模块文件,我们又怎么一起去执行呢?

执行某个目录下面所有的测试用例

比如, 下图中,如果我们想执行目录 ut/mtf里面所有目录里面的测试用例。

在这里插入图片描述
一种方法就是指定开始目录:

python -m unittest discover -s D:/ut/mtf -v

这样,就会递归的找到该目录下面能找到的所有的test开头的文件模块

里面的测试用例,

并执行其里面的 所有测试类 的测试方法。

挑选测试用例执行

如果我们不需要这样执行其中所有的测试用例,而是想指定执行某些用例

我们可以创建一个test suite ,手动的添加我们要执行的用例。

示例代码如下

import unittest
import mtf.feature1.test_m1
import mtf.feature2.test_m4

# 使用 模块加载   函数
lfm = unittest.defaultTestLoader.loadTestsFromModule

# 使用 用例加载   函数,这些函数可以将 用例加载起来
lftc = unittest.defaultTestLoader.loadTestsFromTestCase

# 自己定义一个测试套件
ts= unittest.TestSuite()

#  加载模块里面所有的用例
ts.addTest(lfm(mtf.feature1.test_m1))

#  加载类里面的所有测试用例
ts.addTest(lftc(mtf.feature2.test_m4.WidgetTestCase1))

runner = unittest.TextTestRunner()
runner.run(ts)

最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

在这里插入图片描述

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

自学推荐B站视频:

零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小怡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值