Powermockito一些遇到的坑

it2022-05-09  37

  最近公司在使用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行调用会报错。

转载于:https://www.cnblogs.com/iwuyc/p/PowermockitoNotes.html


最新回复(0)