单元测试

来源:互联网 发布:联想笔记本推荐 知乎 编辑:程序博客网 时间:2024/05/16 00:56

单元测试

import roman1import unittestclass KnownValues(unittest.TestCase):               ①    known_values = ( (1, 'I'),                     (2, 'II'),                     (3, 'III'),                     (4, 'IV'))                     ②    def test_to_roman_known_values(self):           ③        '''to_roman should give known result with known input'''        for integer, numeral in self.known_values:            result = roman1.to_roman(integer)                   self.assertEqual(numeral, result)       if __name__ == '__main__':                          ⑥    unittest.main()                                 ⑦
①测试用例类需要成为unittest模块的TestCase类的子类,TestCase提供了很多测试特定条件的方法

②测试用list

③每个独立的测试都有自己的不含参数的没有返回值的方法。方法不抛出异常正常退出认为测试通过,抛出异常即失败

⑥一个.py文件,如果是自身在运行,那么__name__属性值就是'__main__'
⑦执行unittest.main(),该方法会执行类中每一个方法(每一条测试用例),唯一的要求就是测试类继承自unittest.TestCase


定义错误类

class OutOfRangeError(ValueError):  ①    pass                            ②

异常也是类。
该异常继承了内建的 ValueError 异常类。(它同样也可以继承于基类 Exception),只要它正确就行了。事实上,异常类可以不做任何事情,但是至少添加一行代码使其成为一个类。
pass 的真正意思是什么都不做,但是它是一行Python代码,所以可以使其成为类。测试用例可以返回值或者错误,所以需要定义错误类来处理错误,否则测试无法完成















原创粉丝点击