单元测试(testivus教条的路径).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单元测试(testivus教条的路径)

Testivus之路 少一些单元测试教条 多一些单元测试信条 Alberto Savoia Jojo Shi翻译 如果你写代码,请写测试  学生问: “什么时候我可以成为一个经理?”   大师回答: “当你停止写测试的时候。”   学生赶紧去写测试。 留下一些打滑的痕迹。 学生问大师程序员: “什么时候我可以停止写测试?”   大师回答: “当你停止写代码的时候”   学生问: “什么时候我可以停止写代码?”   大师回答: “当你成为一个经理的时候。”   如果代码值得编写,那么就值得拥有测试 不要被单元测试的教条所捆绑 教条说: “做这个。 只做这个。 只用这种方法来做。 因为我叫你做,你就做。” 教条是不灵活的。 测试需要灵活。   教条扼杀创造性。 测试需要创造性。   拥抱单元测试的信条 信条说: “做好事,好事就会发生。 用你所知道的方法来做。 用你喜欢的方法来做。 信条是灵活的。 测试需要灵活。 信条依靠创造性。 测试需要创造性。 统一考虑代码和测试 当你写代码的时候,考虑测试。 当你些测试的时候,考虑代码。   当你统一考虑测试和代码的时候, 测试很简单,代码很美丽。 测试比单元更重要 其它大师程序员跳出来开始争辩。   “对不起,我问了这个问题。”学生说。 那个晚上后来他接到了一个更伟大的程序员大师的字条。字条上说:   “那个伟大的程序员大师Flying Feathers的回答不是一个优秀的指导。 遵守它,大部分时间你都没法做好。 但你不需要被任何教条捆绑。 就写你需要的测试。”   学生睡得很好。 其它大师继续争论到漫漫长夜。 学生问伟大的程序员大师Flying Feathers: “是什么使一个测试称为单元测试。”   这个伟大的程序员大师回答: “如果它跟数据库对话,它不是一个单元测试。 如果它通过网络通讯,它不是一个单元测试。 如果它接触文件系统,它不是一个单元测试。 如果它不能在同一时间和其它任何单元测试一起运行,它不是一个单元测试。 如果你有一些特殊的环境来运行它,他不是一个单元测试。” 测试的最好时间是当你的代码还新鲜的时候 你的代码就像粘土。 新鲜的时候,它很软,可塑。 随着时间过去,他变得坚硬,脆弱。   如果你在代码新鲜的时候写测试, 容易改变,测试很简单。 代码和测试都变得更强。 测试不运行很浪费 经常运行你的测试。 不要让他们变馊。 当他们通过的时候值得高兴。 当他们失败的时候也值得高兴。 今天不完美的测试比某天完美的测试更好 完美是好的敌人。 不要等待最好,而要做得更好。 不要等待更好,要把它做好。 写你今天能写的测试 一个丑陋的测试比没有测试好 当你的代码很丑陋的时候,你的测试可能也很丑陋。   你不喜欢写丑陋的测试。 但丑陋的测试比没有测试好。   不要让丑陋的测试阻止你写测试, 让丑陋的测试阻止你写更丑陋的测试。 有时候,测试证明方法是对的 学生迷惑了,出去喝啤酒。 在一个水池边,他看到了最伟大的程序员大师一边喝啤酒,一边吃布法罗辣鸡翅。 “最伟大的程序员大师,”学生说,“我以为你不喝酒,你不是素食者么?”   大师笑着回答: “有时候,啤酒能够治疗你的口渴, 而鸡翅能治疗你的饥饿啊。”   学生不再困惑了。 学生问两个程序员大师: “我不能不通过Mocking和违反封装来测试这段代码,我该怎么办?”   一个程序员大师回答: “Mocking不好,你不应该违反封装。 重写这段代码来使你正确的测试它。” 另一个程序员大师回答: “Mocking好,测试胜过封装。” 只有傻瓜不用工具 农夫不用犁不是一个好农夫。   会计不用算盘不是一个好会计。   有些任务最好用手来做。 有些任务最好用工具。   当你用工具可以做的更好的时候,用手不够高贵。 当你不需要用手的时候,用手不够聪明。 好的测试会失败 学生走到大师程序员跟前说: “我所有的测试一直都通过。难道我不应该晋升么?”   大师打了学生一个耳光,说: “如果你的测试一直是通过的,那么你需要些更好的测试。”   学生摸着红红的脸颊到HR那里告状。 但那是另外一个故事了。 总结:Testivus之路 如果你写代码,请写测试 不要被单元测试的教条所捆绑 拥抱单元测试的信条 统一考虑代码和测试 测试比单元更重要 测试的最好时间是当你的代码还新鲜的时候 测试不运行很浪费 今天不完美的测试比某天完美的测试更好 一个丑陋的测试比没有测试好 有时候,测试证明方法是对的 只有傻瓜不用工具 好的测试会失败 附录 /downloads/TheWayOfTestivus.pdf

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档