pip install pytest pytest 单元测试框架 pytest高于unittest测试框架 unittest测试类需要继承unittest.TestCase类 pytest不需要继承,可以是一个函数,也可以是一个类 unittest参数化需要依赖第三方的库 pytest不需要依赖,直 ...
分类:
编程语言 时间:
2020-02-13 16:37:20
阅读次数:
81
前面我们说了,对于不同文件用例,我们可以通过addTest()把用例加载到一个测试套件(TestSuite)来统一执行,对于少量的文件这样做没问题,但是如果有几十上百个用例文件,这样做就太浪费时间了。 unittest中的discover()方法可以批量加载用例 discover(start_dir ...
分类:
其他好文 时间:
2020-02-10 13:53:32
阅读次数:
183
在前面一章中示例了如何编写一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文件,我们直接执行该文件即可,但如果有多个测试文件,怎么进行组织,总不能一个个文件执行吧? 要解决上面两个问题,我们就 ...
分类:
其他好文 时间:
2020-02-10 13:52:37
阅读次数:
93
背景 我们有时候需要断言一些方法会抛出异常,这些异常需要符合我们的预期。 代码 新建test_exception.py文件,内容如下 import unittest class DivZeroTestCase(unittest.TestCase): def test_should_raise_exc ...
分类:
其他好文 时间:
2020-02-10 13:51:59
阅读次数:
74
用例执行完成后,执行结果默认是输出在屏幕上(不便于事后追踪和记录),其实我们可以把结果输出到一个文件中,形成测试报告。 unittest自带的测试报告是文本形式的,如下代码: import unittest if __name__ == "__main__": # 测试用例目录 test_dir = ...
分类:
Web程序 时间:
2020-02-10 13:50:29
阅读次数:
133
在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了。 unittest提供了一些跳过指定用例的方法 @unittest.skip(reason):强制跳转。reason是跳转原因 @unittest ...
分类:
其他好文 时间:
2020-02-10 13:49:58
阅读次数:
67
背景 unittest支持命令行接口,我们可以在命令行里指定运行具体的测试用例。 实例 在test_password_1.py中定义了PasswordTeseCase用例,我们可以从命令行中指定只运行特定的测试类。 $ python -m unittest test_password_1.Passw ...
分类:
其他好文 时间:
2020-02-10 13:37:35
阅读次数:
46
背景 unittest支持各种断言方法。 断言列表 官方文档 方法检查点 assertEqual(a, b) a == b assertNotEqual(a, b) a != b assertTrue(x) bool(x) is True assertFalse(x) bool(x) is Fals ...
分类:
其他好文 时间:
2020-02-10 13:26:17
阅读次数:
309
目的 考虑这样一个测试弱密码的实例。 我们需要判断用户的密码中包含简单密码,规则是这样的,密码必须至少6位,满足6位的话判断用户的密码不是password123或者password之类的弱密码。 对于如下的测试数据,我们要如何使用unittest来进行相关测试呢? [ {"name":"jack", ...
分类:
其他好文 时间:
2020-02-10 11:40:40
阅读次数:
61
unittest是python自带的单元测试框架,有时候被称为"PyUnit",是python版本的JUint实现。 在学习使用unittest库之前,我们需要了解一下unittest库的一些重要概念: test fixture : 代表了用例执行前的准备工作和用例执行之后的清理工作。比如在用例执行 ...
分类:
其他好文 时间:
2020-02-09 18:47:27
阅读次数:
81