我正在写这样的测试
public String cc = "";
@Test
public void testSendMailWithMissingData() throws MessagingException {
String sender = "test@test.com";
String receiver = "test2@test.com";
String subject = "";
String content = "";
javaMailSenderImpl.setPort(greenMail.getSmtp().getPort());
iMailService.sendMail(sender, receiver, subject, content, cc);
MimeMessage[] emails = greenMail.getReceivedMessages();
assertEquals(subject, emails[0].getSubject());
......
}
@Test
public void testSendMailWIthData() throws MessagingException {
String sender = "test@test.com";
String receiver = "receiver@receiver.com";
String subject = "test_subject";
String content = "test_content";
cc = "ccaddress@cc.com";
javaMailSenderImpl.setPort(greenMail.getSmtp().getPort());
iMailService.sendMail(sender, receiver, subject, content, cc);
MimeMessage[] emails2 = greenMail.getReceivedMessages();
assertEquals(cc, InternetAddress.toString(emails2[0].getRecipients(Message.RecipientType.CC)));
}
但我知道testSendMailWIthData
预期的 cc is ccaddress@cc.com
but is null
。为什么?是因为我使用相同的端口吗?为什么我不能在两个不同的字符串中使用两个不同的字符串值@Test
?
帮助
JUNIT日志:
java.lang.AssertionError: expected:<ccaddress@cc.com> but was:<null>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:144)
...