如何编写优秀的测试代码|单元测试

本文探讨了编写可靠、可维护和可读性高的单元测试的重要性。可靠性涉及测试的及时维护、避免测试逻辑、专注一个关注点、分离单元与集成测试,以及结合代码审查和覆盖率。可维护性涵盖去除重复代码、测试隔离、避免多次断言和过度指定。可读性则强调测试命名、变量命名和断言与操作的分离,以提高测试的易理解性。
摘要由CSDN通过智能技术生成

无论如何组织测试,无论有多少测试,如果你不能信任、维护以及阅读它们,这些测试就几乎没有价值。要成为优秀的测试,它们应该同时具有如下三个属性。

  1. 可靠性****。开发人员希望运行的測试可靠,能够对测试结果有信心。可靠的测试没有缺陷而且测试正确的事情
  2. 可维护。性无法维护的測试是梦,它们会拖延项目计划,或者当项目日程紧张时被搁置一旁。如果修改测试花费时间过多,或者经常需要为很小的产品代码频繁变更修改测试,开发人员会直接停止测试的维护和修复工作
  3. 可读性。人们不仅要能够阅读测试,还要在测试出问题时找出症结所在。失去可读性另外两个支柱很快也会倒塌。如果无法理解测试,测试的维护工作就会变得困难,也无法得到人们的信任。

1. 可靠性

1.1 及时维护测试代码

测试代码与产品代码一样需要不断进行维护,一旦测试写好了并且通过了,通常是不应该修改或删除这些测试的。这些测试是你的保护网告诉你修改的代码是否破坏了已有的功能。虽说如此,有时可能还是需要修改或者删除已有的测试。要理解什么情况下修改或删除测试会带来问题,什么情况下这么做是合理的。
删除一个测试的主要的理由是这个测试失败了。如果一个测试突然开始失败,可能有如下原因

  • 产品缺陷    被测试的产品代码有缺陷。
  • 测试缺陷    测试中有缺陷。
  • 语义或者AP变更    被测试代码的语义发生变化,但是功能不变
  • 冲突或者无效的测试    和测试相关的产品需求发生变化,产品代码随之变更

如果测试或代码没有任何问题,修改或删除测试的原因有:

  • 重命名或者重构测试

不可读的测试带来的麻烦比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值