I'm writing a test like this
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)));
}
but I get in testSendMailWIthData
that exspected cc is ccaddress@cc.com
but is null
. Why? Is it because I use same port?
Why I cant use two different String values in two different @Test
?
Help
JUNIT log:
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)
...