Mockito 静态类中的void方法
moke例子(我直接用伪代码)
public class DictUtils {
public static void removeDictCache(String key) {
//执行得方法业务
}
}
你的业务代码中引用这个类的方法
public void deleteDictTypeByIds(Long[] dictIds) {
DictUtils.removeDictCache(Sting key);
//业务代码
}
重点来了,我们要写的Test方法
@RunWith(PowerMockRunner.class)
@PrepareForTest({DictUtils.class})//需要moke的类
@PowerMockIgnore("jdk.internal.reflect.*")
public class Test{
@Test
public void test() throws Exception {
Long[] dictIds = {1L,2L};
PowerMockito.mockStatic(DictUtils.class);
//第一个参数是你要moke的类,第二个参数是你要moke的方法名称,第三个参数是方法里的参数,如果有多个就继续添加参数就好,用逗号隔开
doNothing().when(DictUtils.class,"removeDictCache",anyString());
}
}