Powermockito一些遇到的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powermockito一些遇到的坑相关的知识,希望对你有一定的参考价值。

  最近公司在使用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一些遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

如何用ffmpeg截取视频片段&截取时间不准确的坑

反射的应用

Arrays.asList中所遇到的坑

移动端微信页面的一些自己爬的坑

unity 打AB包中遇到的坑以及一些心得

PowerMockRule踩坑