我目前正在使用 SFDC-Http 集成和新的 Mock 服务器功能。
在我正在测试的 Apex 代码中,我有这个分支条件:
if (response.getStatusCode() != 200) { debugResponse (response); }
else { update (processInvoiceList(invoiceIdList, response)); }
...我可以彻底测试如果状态码是 200 会发生什么。
但是,如果状态码不是 200,那么执行的代码就是这样:
/**
* Write debugging information
* @param HttpResponse response : Http response (e.g., from sendJsonToRemoteService())
* @return None
**/
private static void debugResponse (HttpResponse response)
{
System.debug(
LoggingLevel.ERROR ,
'!!!!! Error from ' + request.getEndpoint() + ' : ' + response.getStatusCode() + ' ' + response.getStatus()
);
}
在这种情况下,就目前的代码而言,对系统所做的唯一更改要检查的是检查调试日志。
我意识到我可以重构我的源代码以公开 HttpResponse(即使其成为公共类变量),但除了测试之外没有必要公开它,所以如果我不需要,我不想公开它。
因此,相反,我希望我的单元测试能够解析错误日志中的错误消息。
这可能吗?
如果是这样,怎么做?