单元测试

单元测试

import roman1
import unittest

class 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代码,所以可以使其成为类。
测试用例可以返回值或者错误,所以需要定义错误类来处理错误,否则测试无法完成















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值