我正在使用powermock。我面临以下场景的问题。
更新时间:
我的问题不同。在另一个链接中给出的示例中,私有方法返回了一些值。在我的例子中,这两种方法都返回Void。
class ClassForWhichTestCasesIsPrepared {
private void myPrivateMethod(String param1, MyBean param2) {
//Some Code Here to save data
}
public void myPublicMethod() {
//Some Code Here to find the require paramters to pass to below method
myPrivateMethod(String param1, MyBean param2);
}
}
面临为myPublicMethod编写测试用例以模拟同一类中的私有方法的问题。
我想模拟myPrivateMethod方法,因为它不应该被调用,但是测试用例应该包括myPublicMethod方法。这两种方法都是无效的。
我不能改变这个设计,我只需要完成并涵盖相同的所需测试用例。
您可以使用PowerMock
提供的间谍方法。
例如。
ClassForWhichTestCasesIsPrepared spy = PowerMockito.spy(new ClassForWhichTestCasesIsPrepared());
when(spy, method(ClassForWhichTestCasesIsPrepared .class, "myPrivateMethod",
String.class, MyBean.class)).withArguments(anyString(), anyObject())
.thenReturn(true);// this return can be made to do nothing as well if you want
spy.myPublicMethod();
我试图模拟一个私有方法(executeGetRequest),在我声明要为私有方法返回的模拟的那一行中,私有方法实际上是用null参数执行的,因此抛出了一个NullPointerException。 VlcPlayerMinimal。爪哇: VlcPlayerMinimalTest。爪哇: 堆栈跟踪: 它似乎PowerMockito实际上是调用的方法,我试图在行PowerMockito.do返回(
我有以下代码 我对嘲笑不熟悉。我有以下疑问。我正在尝试测试公共方法。 我是否可以断言私有变量workDone的值? 是否可以验证超类中的方法调用? 如何在方法中模拟私有方法调用?
我有一门课看起来像这样: 我想使用Mockito和Powermock为此编写一个单元测试。我知道我可以这样模仿私有方法: 但是我如何告诉它抛出异常呢?我知道会是这样的: 那里有什么? 请注意,异常是一个私有内部类,因此我不能只执行,因为从单元测试中无法访问。
有人能帮帮我吗?提前谢了。
我试图在测试的类中模拟一个私有方法,如下所示。 现在我需要测试方法和mock。 我尝试创建间谍的上述类,但该方法得到调用时,我这样做下面 在第二行本身被调用。而且,不会被模仿。 也许我用错误的方式创建了间谍对象?无法执行