Mockito:模拟类< T>宾语 [英] Mockito: Mock class<T> object
本文介绍了Mockito:模拟类< T>宾语的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
抱歉,已经讨论过了,但是我没有找到任何解决办法。
Apologies if it's already been discussed but I didn't find any solutions.
问题-
尝试模拟某种类型的Class对象(例如类)
Problem - Trying to mock an object of my Class of some type (e.g. class)
编写方法xyz()的测试用例,其中我需要模拟下面的代码片段中提到的SomeClass.class
Writing test case of method xyz() where i need to mock SomeClass.class as mentioned in below code snippets
void xyz() {
..
MyOtherClass.staticMethod(SomeClass.class);
..
}
MyOtherClass {
..
<T> T staticMethod(Class<T> clazz) {
}
...
}
- 使用电源嘲笑
- 尝试过(Class)Mockito.mock(Class.class),这不起作用。
我希望上面的代码可以解决问题。
I hope above code clears the problem. Any help much appreciated.
一吨!
推荐答案
是的,找到解决方案:
通过PowerMockRunner运行测试案例,方法如下:
Run your test case with PowerMockRunner by annotating as follow:
@RunWith(PowerMockRunner.class)
@PrepareForTest({ MyOtherClass.class, MainClass.class})
模拟您的静态方法并提供特定类型的类的预期对象:
Mock your static method and supply expected object of your class of specific type:
PowerMockito.mockStatic(MyOtherClass.class);
PowerMockito.when(MyOtherClass.staticMethod((Class<SomeClass>) SomeClass.class)).thenReturn(...);
谢谢
这篇关于Mockito:模拟类< T>宾语的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文