如果已经讨论过了,我很抱歉,但我没有找到任何解决方案。
——问题试图模拟我的类的某些类型的对象(例如类)
编写方法xyz()的测试用例,我需要模拟下面代码片段中提到的somecclass .class
void xyz() {
..
MyOtherClass.staticMethod(SomeClass.class);
..
}
MyOtherClass {
..
<T> T staticMethod(Class<T> clazz) {
}
...
}
- 使用电源模拟
- 尝试(类)Mockito.mock(类. Class),这是不工作的
我希望上面的代码可以解决问题。如有任何帮助,不胜感激。
非常感谢!
找到解决方案了:
使用PowerMockRunner运行测试用例,注释如下:
@RunWith(PowerMockRunner.class)
@PrepareForTest({ MyOtherClass.class, MainClass.class})
模拟静态方法并提供特定类型的类的预期对象:
PowerMockito.mockStatic(MyOtherClass.class);
PowerMockito.when(MyOtherClass.staticMethod((Class<SomeClass>) SomeClass.class)).thenReturn(...);
谢谢
尝试Mockito.mock(Class<T>.class);