您的位置:首页 > 其它

单元测试之测试方法

2014-06-18 11:15 274 查看
单元测试面临的困难

职责不明确

类或者方法的职责不明确,违反了SRP原则.

类/方法如果处理了本不该它处理的逻辑,会造成单元测试需要关心过多的外部关联类.

静态方法

静态方法使得调用者直接面对实际的服务类,难以通过其它方式替代其实现,也难以扩展.

直接访问对象实例

调用者直接实例化服务对象,从而使用服务对象提供的服务.同静态方法一样,调用者直接面对服务类.

标准库

标准库中有非常多的接口调用使得调用者难以被测试.

准备数据

编写测试用例需要外部准备大量的数据.

可行的解决方案

重构系统

对于职责不明确的代码,只有通过重构才可以进行单元测试.

编写Mock和Stub

对接口Mock比较容易.Mock对象分为动态Mock和静态Mock.

具体类的Mock,可以通过子类继承来进行.

静态方法的Mock,可以使用classpath来进行.

在被测试类的namespace内,创建一个classname和方法签名完全一致的Mock实现方法.

然后保证该Mock方法的位置在真实方法之前被调用即可.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: