Mock是编程中Unit测试的常态。最开始使用的是easymock,确实很easy,可惜功能不够强大。对于private方法测试无能为力,对于static的工具类也没有办法,于是转向了PowerMockito,很好的解决了我的困扰。
Mock测试的主要做法就是在真实方法调用之前先模拟被测试类关联的外部类,接口的调用实现,对指定的参数,返回虚拟的结果(虚拟的返回值或者异常等),然后调用测试方法,再之后验证模拟的函数调用都有发生。
记录一下我使用powermockito的一些测试用例。
1.基本简单的mock和验证 (被测试的类是JcifsDataTransfer,引用的类包括NtlmPasswordAuthentication和SmbFile),其中NtlmPasswordAuthentication和SmbFile是在被测试类中New的实例,所以需要在Class的annotation中除了@RunWith(PowerMockRunner.class)<