1

我目前正在使用 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(即使其成为公共类变量),但除了测试之外没有必要公开它,所以如果我不需要,我不想公开它。

因此,相反,我希望我的单元测试能够解析错误日志中的错误消息。

这可能吗?

如果是这样,怎么做?

4

0 回答 0