单元测试
在这里主要讲基于Junit测试框架的Java单元测试。
在很久之前,我是从来不写单元测试的。思考其原因:其一,工作任务紧,来不及写单元测试;其二,项目中的好多类以及各种耦合,并不是很好写单元测试;其三,对于Mock等的测试手段,还不是很了解。大概由于这三种原因使得单元测试覆盖率很低。
由于各种的质量问题和要求,慢慢地我也开始写单元测试,这时一个艰难的过程。对于一个代码都可能看不懂的Java新手来说,搞清楚Mock对象,写单元测试并不是一件简单地事情。
那么然我们一起来Mock吧!
简单的耦合性很好的代码,不需要任何的Mock就可以轻松的写出单元测试,这个我就不多讲了。我们主要讲耦合性差,对象方法不好操作的代码来写单元测试。那就需要Mock对象。
1.也就是说在一个类中,如果你用到了另一个类的对象。那么我们最好用复合的方式来写这类,即将这个所需要的类的对象,作为这个类的成员变量。这样在实现这个类时,可以轻松的使用成员变量对象的任意公有方法。而且在MOck的时候,也非常容易,只需要Mock这个对象即可。
2.如果一个类中的某个方法,使用了另一个类的静态方法,而且又不好操作的静态方法。那么就可以将这个静态方法抽出来。在单元测试中,实例化对象的时候重写这个方法就可以了。