こんにちはみんなは次のとおりです。パワーモックを使用してリストタイプをパラメータとして使用しているプライベートメソッドをモックする方法はありますか?私は、パラメータとして、コードの詳細の一部をリスト形式を取っているプライベートメソッドを模擬しようとしています
CustomerVerificationクラス
public class CustomerVerification{
creditCheck.setSuffix(null);
String pinAndPreciseId = null;
try {
pinAndPreciseId = executeCreditCheck(creditCheck, errorResponses, transactionId);
if (pinAndPreciseId.contains("Error")) {
ErrorResponse errorResponse = new ErrorResponse("EXPERIAN", pinAndPreciseId, "E01", transactionId);
errorResponses.add(errorResponse);
customerVerification.setErrorResponses(errorResponses);
return customerVerification;
}
} catch (Exception e) {
throw new EnterpriseCustomerVerificationException(e.getMessage());
}
}
executeCriditCheckクラス
private String executeCreditCheck(CreditCheck creditCheck, List<ErrorResponse> errorResponses, String transactionId)
throws UnsupportedOperationException, IOException {
LOG.info("Calling experian");
String pinAndPreciseId = null;
String request = null;
String referenceId = null;
DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
Date today = new Date();
referenceId = formatter.format(today);
HttpPost experianHttpPost = getExperianHttpPostMethod();
NetConnectRequest netConnectRequest = ExperianCreditMapper.map(creditCheck, eai, dbHost, referenceId,
experianProduct, opInitials, preamble, subCode, arfVersion, venderNumber, vendorVersion, null,
CustomRRDashKeyword);
System.err.println("REQUEST -- " + netConnectRequest.toString());
request = "NETCONNECT_TRANSACTION=" + URLEncoder.encode(netConnectRequest.toString());
experianHttpPost.setEntity(new ByteArrayEntity(request.getBytes("UTF-8")));
HttpResponse response = experianHttpClient.execute(experianHttpPost);
pinAndPreciseId = ExperianCreditMapper.getPIN(response);
return pinAndPreciseId;
}
誰かが模擬方法についてのアイデアを教えてもらえますかプライベートメソッドexecuteCreditCheckこれは3つのパラメータのうち、1つがリスト型です。
注:ここでコードの一部を示します。いくつか1つは 私に与える方法についてのアイデアを与えるexecuteCreditCheckメソッド。
)です。ここではスパイを使用して調べます。 B)基本的にテストするのは難しいコードです。それを何とかテストしなくても、むしろ後退してデザインを改善する方法を考えて、テストするのが簡単になります。 – GhostCat