我想测试agentAgentInfo
方法以及测试wsProxy.findAgentInfo
方法。如何使用PowerMockito / Mockito进行测试?
private WSProxy wsProxy = new WSProxy();
public String getAgentInfo(String loginId) {
String agentInfo = null;
try {
agentInfo = wsProxy.findAgentInfo(loginId);
} catch (RemoteException e) {
e.printStackTrace();
}
return agentInfo;
}
答案 0 :(得分:1)
您的问题是您创建了难以测试的代码。
这里有两个选项:
wsProxy = new WSProxy();
该模拟对象应该期望调用findAgentInfo()
。我通常建议选项2;通过学习如何创建可测试的代码(例如通过观察这些videos)来实现目标。是的,PowerMock可以解决这些问题;但问题是PowerMock根本就不是免费的 - 我花了几个小时来调试PowerMock的“问题”;总是认为破损与我们的生产代码无关。所以,尽可能诱人;不使用PowerMock可以节省我很多的时间;我可以用它来提出更好的设计。