Python中对代码的测试
我们在编写函数和类时,需要对代码进行测试,确定函数或类能够按照预想的工作。
1.测试函数
我们写一个获取姓和名并返回完整姓名的函数:
1.1 单元测试和测试用例
Python标准库中提供了代码测试工具模块unittest。单元测试用于核实函数的某个方面是否有问题;测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求。
1.2 使用unittest模块测试函数
unittest模块使用方法:
首先我们要导入unittest模块;并且导入要测试的函数;我们再创建一个测试类(这个类必须继承unittest.TesCase)。然后我们将测试代码放到一个测试函数中,我们可以在测试函数中使用unittest模块中的断言方法。断言方法用于核实得到的结果是否与期望的结果相同。
常用的断言方法:
assertEqual(a,b):核实a==b;
assertNotEqual(a,b):核实a!=b;
assertTrue(a,b):核实x为True;
assertFalse(a,b):核实x为False;
assertIn(item,list):核实item在list中;
assertNotIn(item,list):核实item不在list中。
如图,我们就用unittest模块对刚才的函数进行了测试,测试结果为OK,说明结果是通过的,如果出现了errors那么测试就是不通过的。
2.测试类
同样的,我们也可以使用unittest对类进行测试。
2.1 一个要测试的类
我们定义一个调查问卷的类,属性有一个问题,一个回答的列表,存储回答的方法。
2.2 用unittes模块对类进行测试
接下来我们使用unittest模块对刚才写的Survey类进行测试,测试方法和之前对函数的测试没有太多差别。
unittest.TestCase类中包含了一个setUp方法,我们可以在该方法中初始化一个对象,这样就不需在测试函数中重复初始化对象了。