私は現在、SFDC-Http 統合と新しいモック サーバー機能をいじっています。
私がテストしている 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 を公開する (つまり、パブリック クラス変数にする) ことができることはわかっていますが、テストを除けば公開する必要はないので、必要がなければ公開したくありません。
そのため、代わりに、単体テストでエラー メッセージのエラー ログを解析したいと考えています。
これは可能ですか?
もしそうなら、どのように?