码迷,mamicode.com
首页 > 其他好文 > 详细

Powermockito一些遇到的坑

时间:2017-02-13 23:47:57      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:str   通过   自己   always   verify   time   导致   when   first   

  最近公司在使用powermockito进行白盒测试,在这一方面因为刚接触,避免不了要遇到一些坑(问题),这篇文章主要是记录下自己遇到的问题,以便后面可以查阅。

1、使用Powermockito检查某个静态方法调用的次数 

 1         PowerMockito.mockStatic(Static.class);
 2         // use Mockito to set up your expectation
 3         PowerMockito.when(Static.staticMethod(Mockito.anyString())).thenReturn("hello iWuYc");
 4         Static.staticMethod("iWuYc");
 5         Static.staticMethod("iWuYc");
 6         // Different from Mockito, always use PowerMockito.verifyStatic() first
 7         // to start verifying behavior
 8         PowerMockito.verifyStatic(Mockito.times(2));
 9         // IMPORTANT: Call the static method you want to verify
10         Static.staticMethod("iWuYc");

步骤:

  • 记录需要mockito的静态类的静态方法
  • 调用对应的静态方法,在代码中可以看到,4~5行调用了两次staticMethod方法
  • 启用校验(代码中第8行)
  • 再次调用需要校验的方法,进行实际的检查,看看是否符合第8行定义的规则。

注意:

在使用过程中,没有仔细看api文档,导致本人在使用中一直遇到问题。关键点是:先调用对应的静态方法,再启用静态检查,并定义规则,再次调用对应的静态方法,查看是否是通过校验的。

如果在第8行定义的times是3的话,这个时候,第10行调用会报错。

Powermockito一些遇到的坑

标签:str   通过   自己   always   verify   time   导致   when   first   

原文地址:http://www.cnblogs.com/iwuyc/p/PowermockitoNotes.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!