-1
私はユニットテストで初心者です。私はテストのためのクラスを持っており、価値は示されていません。私は根本的な原因を知らない。価値取引時間は表示されません。私はこのコードを理解していません。たぶんあなたはなぜ値が表示されないのか説明してくれます。コード:ユニットテストの値が見つかりません
クラス試験:
@Test
public void Testing2() throws Exception {
RequestEmailTO requestEmailTo = new RequestEmailTO();
Date transDate = DateUtil.now();
Map<String, String> maps = new HashMap<String, String>();
requestEmailTo.setTransactionTime(DateUtil.formatDateToStr(transDate, "yyyy-MM-dd hh:mm:ss.SSS"));
List<NameValuePair> result = SendEmailRequestGenerator.generateRequest(maps);
System.out.println(result);
}
RequestEmailTO:
public class RequestEmailTO extends RequestBaseFormParamTO{
@FormParam("processCode")
private String processCode;
@FormParam("tos")
private String to;
@FormParam("ccs")
private String cc;
@FormParam("bccs")
private String bcc;
@FormParam("subject")
private String subject;
@FormParam("message")
private String message;
@FormParam("chdrNum")
private String chdrNum;
@FormParam("policyHolder")
private String policyHolder;
@FormParam("agentType")
private String agentType;
@FormParam("agentName")
private String agentName;
@FormParam("emailAgent")
private String emailAgent;
@FormParam("replyTo")
private String replyTo;
// setter and getter
}
RequestBaseFormParamTO:
public class RequestBaseFormParamTO extends BaseFormParamTO {
@FormParam("channelId")
private String channelId;
@FormParam("signatureString")
private String signatureString;
// setter and getter
}
SendEmailRequestGenerator:
public class SendEmailRequestGenerator {
public static List<NameValuePair> generateRequest(Map<String, String> maps){
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.TO, maps.get(ApplicationConstanta.EmailConstanta.TO)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.SUBJECT, maps.get(ApplicationConstanta.EmailConstanta.SUBJECT)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.CC, maps.get(ApplicationConstanta.EmailConstanta.CC)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.BCC, maps.get(ApplicationConstanta.EmailConstanta.BCC)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.MESSAGE, maps.get(ApplicationConstanta.EmailConstanta.MESSAGE)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.TRANSACTION_ID, maps.get(ApplicationConstanta.EmailConstanta.TRANSACTION_ID)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.TRANSACTION_TIME, maps.get(ApplicationConstanta.EmailConstanta.TRANSACTION_TIME)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.CHANNEL_ID, maps.get(ApplicationConstanta.EmailConstanta.CHANNEL_ID)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.SIGNATURE_STRING, maps.get(ApplicationConstanta.EmailConstanta.SIGNATURE_STRING)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.PROCESS_CODE, maps.get(ApplicationConstanta.EmailConstanta.PROCESS_CODE)));
parameters.add(new BasicNameValuePair(
ApplicationConstanta.EmailConstanta.REPLY_TO, maps.get(ApplicationConstanta.EmailConstanta.REPLY_TO)));
return parameters;
}
}
結果:、あなたがrequestEmailToフィールドをあなたのテストで [TOS、件名、CCS、BCCが、メッセージ、のtransactionId、transactionTime、channelId、signatureString、processCode、のreplyTo]
を計算する前に
を呼び出すことであろうが、それは私には思われるその' toString'メソッドのみ印刷'name'ではなく' value'です。 'BasicNameValuePair'(またはそのスーパークラスの1つ)の' toString'を見て、何が起こっているのかを見てください。もしあなたがそれを解決できなければ、ここに投稿してください。 –
BasicNameValuePairクラスはorg.apache.http.message.BasicNameValuePairからインポートされました。値は "maps.get"で設定されていると思います。名前のために左側に、値の右側に。それは本当ですか?私はexplainationが必要です。ありがとう –
私の答えによると、あなたのテストコードは妥当な何もしていません。非常に簡単なデバッグでは、空のマップをジェネレータに渡して空のリストを表示します。 – tkruse