学习单元测试, 如何在开发过程中把单元测试也做了

希望能写质量更好的代码。  从功能角度看, 写好的代码能满足要求。原来开发中没有单元测试。基本是手动测试, 集成测试加上联调。最后提交给测试。这样有很大的问题,  代码改动后,需要重新测试, 手动不仅麻烦, 而且耗时。 不测试也有可能简单的修改, 引入了其他的问题。 我希望单元测试能帮助我解决部分问题。

我的学习资料: dive into python 这本书 13/14 章节。 


需求和设计


需求: 写两个函数: toRoman, fromRoman, 实现罗马数字和阿拉伯数字转换。 能在无效输入报错. (P261-P262 8个小点)

设计: ( 这是书中没有介绍的。 书中先写测试, 测试代码连出错是什么异常都知道, 应该是设计的比较详细)

1. 用异常出错处理, 不用返回值。定义可能的异常。 [先分两大类, 可以分别细分]

输入不合法

处理过程出错, (应该是运行时错误)

1. 接口  (先这么表示吧)

return string toRoman (input int)
return int fromRomen (input string)


1. 如何实现

toRoman 按位翻译成字符串
fromRoman 要提取高位字符串, 用字符比较确定当前位的值。 高位字符串: 从开始到第一位的字符出现前
(书中用对照表要简单些, 把我想象中需要用很多if elif 比较提炼成对照表)


测试和代码

接下来是写代码和单元测试。 书中介绍是先写测试再写代码。 (看到一个好处是代码可以跑跑看, 写对了没)。 我觉得这个太理想。  单元测试代码可能自己也有问题。 具体哪个先写, 个人觉得无所谓。 但一定都有写。 回过头来看, 设计阶段后, 思考测试具体有哪些单元测试(在写代码前)


 和手动测试相比, 写单元测试要花很多时间。 和实际相比, 单元测试很全面,(漏了再往里面加)。 个人感受上写单元测试很耗时, 但手动测试没有测试这么多的内容, 也更多倾向于做工作测试(再手动弄些异常测试)。 是不是真相了。 


 如果真想用上单元测试, 我的详细设计没有这么细。 


  --- 会根据自己的工作情况继续更新

  --- 如果有看到的达人给点意见, 我想写质量很好的代码



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值