2、通过测试驱动代码

通过测试驱动代码

在 Ruby 编程中,测试驱动开发(TDD)常被视为编程成功的“秘诀” 。然而,让人们相信编写往往比实现代码更长的测试,实际上能减少项目总耗时并提高整体效率,并非易事。

TDD 的好处

在实际工作中,TDD 的诸多好处是真实存在的。通过编写测试,可以记录软件的预期行为,同时验证代码是否满足需求,从而使代码质量更高。自动化测试能确保在定位并修复 bug 后,不会在不知情的情况下再次出现。而且,由于测试是自动化的,将代码交给他人时,能机械地断言预期结果,这比手写规范更有效。

其实,自动化测试与我们在发现它之前所做的事情并无本质区别。例如,使用条件打印语句来缩小 bug 范围,就是一种原始的自动化测试形式:

if foo != "blah"
  puts "I expected 'blah' but foo contains #{foo}"
end

如果曾编写示例来验证早期版本代码中存在但后期版本中不存在的 bug,那么所做的与 TDD 编写的内容相差不大。唯一的区别是,一次性示例无法充分考虑与其他模块集成时可能出现的问题,而单元测试框架能很好地处理这个问题。

很多人虽然知道测试的长期好处,但通常先编写代码,再编写测试,而且编写测试耗时较长,因为难以确定代码的行为。最终,测试成了必要之恶,人们虽感激它像安全网,但除了出问题时,更愿意专注于编写代码。然而,熟练的 Ruby 开发者会告诉你,测试虽难,但确实能让软件开发工作更轻松。

测试框架简介

Ruby 的标准库中提供了一个单元测试框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值