我是单元测试的初学者。我有测试课,价值没有显示。我不知道根本原因。值交易时间未显示。我真的不明白这段代码。也许你可以给我解释为什么价值不显示。代码:
课堂测试:
@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;
}
}
结果: [tos,subject,ccs,bccs,message,transactionId,transactionTime,channelId,signatureString,processCode,replyTo]
答案 0 :(得分:0)
在测试中,您设置requestEmailTo字段:
requestEmailTo.setTransactionTime(DateUtil.formatDateToStr(transDate, "yyyy-MM-dd hh:mm:ss.SSS"));
但是你将空地图传递给了生成器:
result = SendEmailRequestGenerator.generateRequest(maps);
这就是为什么结果没有设置交易时间的原因。 获得一些输出的一种方法是调用
maps.put(ApplicationConstanta.EmailConstanta.TRANSACTION_TIME, DateUtil.formatDateToStr(transDate, "yyyy-MM-dd hh:mm:ss.SSS"))
在计算结果之前