单元测试(提升篇)

发表于:2008-11-24 15:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:wukaichun    来源:Blogjava

  一、可测试性设计

   1. 接口依赖

   这是最重要的一点,因为这可以使得我们很容易的针对一个接口实现Mock对象,模拟/替换实际对象会变的很容易。达到使一个被测对象处于一个孤立环境的测试要求。

   这里,ClassA依赖于ClassB的具体实现,TestCase根本无法独立于ClassB对ClassA进行独立测试。

   因此,我们将ClassA改为依赖于接口B_Inf。这样,可以很容易的实现一个Mock_B替换ClassB去ClassA进行孤立测试。

   2. 依赖注入

   一个方法对外部类的依赖,应该是可注入的。即可以通过构造方法、get/set方法的方式在外部将依赖关系注入。事实上,这也为我们在测试用例中替换待测类的依赖对象提供了机会。不应该出现在方法内部新建对象使用的情况。

   3. 降低耦合度

   待测类应与最少的类耦合,即最小交互原则。特别是要减少与那些离了具体环境就不能运行的类的耦合。可以通过门面模式等对外部调用进行隔离。

   5.AOP

   面向切面编程。给我们提供的启示是,将真正需要测的逻辑分离出来。摆脱那些无意义且简单重复的代码对测试的干扰。

   6. 明确的契约

   方法一定要有明确清晰的输入/输出。建议在方法的注释描述中,分三段“描述”“前置条件”“后置条件”。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号