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