Тестирование электронной почты Java Spring с GreenMail

Я внедряю тесты для сервиса, который отправляет много писем. В качестве инструмента тестирования я выбрал GreenMail.

Я делаю как

@Rule
public GreenMailRule mail = new GreenMailRule(ServerSetupTest.SMTP);

@Autowired
MailService mailService;

@Before
public void setUp() {
    mail.setUser("recipient1@email.com", "recipient1@email.com", "password");
    mail.setUser("recipient2@email.com", "recipient2@email.com", "password").create();
    mail.setUser("sender@email.com", "sender@email.com", "p").create();
    mail.start();
}

@Test
public void test() {
  // sends mail from sender@email.com to recipient1 and recipient2 using cc
  mailService.send();
  mail.setUser("recipient1@email.com", "password");
  assertEquals(1, mail.getReceivedMessages().length);
}

Однако я получил 2 сообщения - для обоих получателей. Я думаю, что причина в том, что smtp основан для публикации, а не чтения. Однако, если использовать POP3, я не получаю сообщений вообще.

Итак, как я могу получить сообщения для конкретного пользователя?

0 ответов

Другие вопросы по тегам