使用回调测试以下静态方法的最佳方法是什么
Service.doAction(request, Callback<Response> callback);
我知道关于模拟和测试非静态对象和方法的类似问题,但这是特定于静态方法的。有没有办法使用带有答案的Powermock或ArgumentCaptor来实现这一点?
您声称要测试 static
方法。所以你很可能也不会嘲笑它,对吧?
您要模拟的是传递给方法的参数 - request
和 callback
。但这与模拟任何其他参数相同:
- 创建模拟
- 定义行为
- 传入
- 验证回调上的结果/方法调用。
创建一个模拟请求,以及使用您需要的代码的回调,以测试它是否被调用并且被调用并具有正确的结果,然后只需调用它,就像您发布的那样。