Mockito:模拟类<T>对象



如果已经讨论过了,我很抱歉,但我没有找到任何解决方案。

——

问题试图模拟我的类的某些类型的对象(例如类)

编写方法xyz()的测试用例,我需要模拟下面代码片段中提到的somecclass .class

void xyz() {
..
MyOtherClass.staticMethod(SomeClass.class);
..
}
MyOtherClass {
..
<T> T staticMethod(Class<T> clazz) {
}
...
}
  1. 使用电源模拟
  2. 尝试(类)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);

相关内容

  • 没有找到相关文章

最新更新