摘要:在前面一章中示例了如何编写一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文件,我们直接执行该文件即可,但如果有多个测试文件,怎么进行组织,总不能一个个文件执行吧? 要解决上面两个问题,我们就
阅读全文
摘要:在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了。 unittest提供了一些跳过指定用例的方法 @unittest.skip(reason):强制跳转。reason是跳转原因 @unittest
阅读全文
摘要:背景 我们有时候需要断言一些方法会抛出异常,这些异常需要符合我们的预期。 代码 新建test_exception.py文件,内容如下 import unittest class DivZeroTestCase(unittest.TestCase): def test_should_raise_exc
阅读全文
摘要:背景 unittest支持各种断言方法。 断言列表 官方文档 方法检查点 assertEqual(a, b) a == b assertNotEqual(a, b) a != b assertTrue(x) bool(x) is True assertFalse(x) bool(x) is Fals
阅读全文
摘要:背景 unittest支持命令行接口,我们可以在命令行里指定运行具体的测试用例。 实例 在test_password_1.py中定义了PasswordTeseCase用例,我们可以从命令行中指定只运行特定的测试类。 $ python -m unittest test_password_1.Passw
阅读全文
摘要:背景 当我们的测试数据是下面这些的时候,我们的用例是有问题的。 [ {"name":"jack","password":"Iloverose"}, {"name":"rose","password":"Ilovejack"}, {"name":"tom","password":"password12
阅读全文
摘要:背景 接上一节的弱密码例子,我们的用例尽管运行的不错,但还是有点问题。 假如我们需要增加一些测试数据,那么我们就必须去修改setUp方法,在test_data列表中增加数据,频繁修改代码以适应一些不变的测试场景,这是没有必要的开销,可以想办法去优化(代码与数据分离的思想)。 我们可以把测试数据保存在
阅读全文
摘要:目的 考虑这样一个测试弱密码的实例。 我们需要判断用户的密码中包含简单密码,规则是这样的,密码必须至少6位,满足6位的话判断用户的密码不是password123或者password之类的弱密码。 对于如下的测试数据,我们要如何使用unittest来进行相关测试呢? [ {"name":"jack",
阅读全文
摘要:基本概念 unittest是python自带的单元测试框架,有时候被称为"PyUnit",是python版本的JUint实现。 在学习使用unittest库之前,我们需要了解一下unittest库的一些重要概念: test fixture : 代表了用例执行前的准备工作和用例执行之后的清理工作。比如
阅读全文