首页 > 测试驱动 > 翻译:编写可测试的代码

翻译:编写可测试的代码

2009年8月18日 admin 发表评论 阅读评论

在编写单元测试代码的过程中,我们时常会发现某些类或者方法不可测或者不易测,也就是通常所说的代码可测性比较差。当出现这种情况的时候往往也意味着我们的代码存在着问题。在Guide to Writing Testable Code这篇文章中作者列举了多种影响代码可测性的情况,当出现以下问题的时候我们需要及时地对我们的代码加以调整。以下就是对Guide to Writing Testable Code的翻译。

构造函数做了实际的工作

  • 在构造函数或字段声明的时候使用了new 关键字
  • 在构造函数或字段声明的时候使用了静态方法
  • 在构造函数中做了字段赋值以外的事情
  • 在构造函数完成以后,对象还不能完全初始化(警惕initialize方法)
  • 在构造函数中存在流程控制的语句(条件语句、循环语句)
  • 在构造函数中存在复杂对象关系构造
  • 使用了初始代码块

跟合作对象耦合太深

  • 传过来的对象不直接使用,而只是用来获取其他的对象
  • 对象方法调用的层次不止一层。
  • 代码中存在context, environment, principal, container,或 manager之类可以的对象名称

容易被破坏的全局状态和单例模式

  • 使用了单例模式
  • 使用了静态字段或静态方法
  • 使用了静态代码块
  • 使用了服务定位器模式

类承担了太多的职责

  • 总结这个类的功能时需要用上“和”、“以及”这样的词汇。
  • 新成员阅读和理解这个类存在困难
  • 类中的某些字段只在几个特定的方法中被用到了
  • 这个类存在只对方法参数操作的静态方法。

参考资料

原文:Guide to Writing Testable Code

分类: 测试驱动 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.