19、罗马数字转换函数的测试、调试、需求变更与性能优化

罗马数字转换函数的测试、调试、需求变更与性能优化

一、测试通过与停止编码

在开发罗马数字转换函数时,我们进行了全面的单元测试。其中,不良输入测试都通过了,例如畸形前导测试会检查像“MCMC”这样的情况,由于它不匹配正则表达式, fromRoman 函数会抛出 InvalidRomanNumeralError 异常,这正是该测试用例所期望的结果,所以测试通过。当所有测试都通过时, unittest 模块会输出“OK”,此时就应该停止编码。

二、处理代码中的 Bug

2.1 Bug 发现

尽管我们努力编写全面的单元测试,但 Bug 仍可能出现。例如,当输入为空字符串时, roman5.fromRoman("") 返回了 0,这是一个 Bug,因为我们期望空字符串像其他无效的罗马数字序列一样,抛出 InvalidRomanNumeralError 异常。

2.2 编写测试用例

在重现 Bug 后,我们需要编写一个失败的测试用例来明确 Bug。以下是测试代码示例(romantest61.py):

import unittest
import roman

class FromRomanBadInput(unittest.TestCase):
    def testBlank(self):
        """fromRoman should fail with blank string
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值