gpt4 book ai didi

Mockito:模拟类 对象

转载 作者:行者123 更新时间:2023-12-01 13:50:41 24 4
gpt4 key购买 nike

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

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

编写方法 xyz() 的测试用例,我需要模拟 SomeClass.class,如下面的代码片段所述

void xyz() {
..
MyOtherClass.staticMethod(SomeClass.class);
..
}

MyOtherClass {
..
<T> T staticMethod(Class<T> clazz) {
}
...
}
  1. 使用 power mockito
  2. 尝试过 (Class) Mockito.mock(Class.class),但不起作用。

我希望上面的代码能解决问题。非常感谢任何帮助。

非常感谢!

最佳答案

是的,找到了解决方案:

通过如下注释使用 PowerMockRunner 运行您的测试用例:

@RunWith(PowerMockRunner.class)
@PrepareForTest({ MyOtherClass.class, MainClass.class})

模拟您的静态方法并提供特定类型的类的预期对象:

PowerMockito.mockStatic(MyOtherClass.class);
PowerMockito.when(MyOtherClass.staticMethod((Class<SomeClass>) SomeClass.class)).thenReturn(...);

谢谢

关于Mockito:模拟类 <T> 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31943176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com