为什么要用 PowerMockito.mockStatic(XXX.class)
我的结论:“类中的静态方法 如果用到了Spring环境对象,这时就要PowerMockito.mockStatic”
先说一下要怎么用:
除了一般的测试类写法,对于某些类(XXX.class)要加上@PrepareForTest 和 PowerMockito.mockStatic(XXX.class);
@PrepareForTest({
XXX.class
})
public class XXXXXXXXTest {
@Before
public void prepare() {
PowerMockito.mockStatic(XXX.class);
MockitoAnnotations.initMocks(this);
}
“对于某些类(XXX.class)要PowerMockito.mockStatic操作一下,是因为类中有静态/final方法,”
---上诉说法是我找了几个博客看到的解释,这个解释我以为是不能很好解释 “为什么要用 PowerMockito.mockStatic(XXX.class)”的,有静态类就一定要mockStatic应该是不对的。也可能是我对他们博客理解的不到位吧
然后我就写了几个测试类测了一下,发现的规律是:
类中的静态方法 如果用到了Spring环境对象,这时就要PowerMockito.mockStatic;
类中的静态方法 如果没有用到了Spring环境对象,就是一般的对象操作,不需要这样。
a'pi文档今天没时间看了 还蛮忙的 先记下