Le test suivant prend environ 5 secondes à exécuter en raison de l'inclusion de m.saveChanges()
.MimeMessage.saveChanges est vraiment lent
import org.junit.Before;
import org.junit.Test;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import java.io.IOException;
import java.util.Properties;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@Test
public void test1() throws MessagingException, IOException {
Session s = Session.getDefaultInstance(new Properties());
MimeMessage m = new MimeMessage(s);
m.setContent("<b>Hello</b>", "text/html; charset=utf-8");
m.saveChanges();
assertEquals(m.getContent(), "<b>Hello</b>");
assertEquals(m.getContentType(), "text/html; charset=utf-8");
}
J'ai aussi raillé la session avec Mockito mais il ne permet pas:
Session s = mock(Session.class);
when(s.getProperties()).thenReturn(new Properties());
Quel est le problème ici? Que puis-je me moquer pour accélérer les choses?