3

也许我没有使用正确的搜索关键字,但我在集成测试中找不到任何关于电子邮件主题的内容。“邮件”这个词甚至没有出现在测试文档中

我想知道是否甚至可以检查 Spring 应用程序是否正在尝试发送电子邮件,更重要的是,我如何模拟它或阻止它在每次运行集成测试时实际尝试联系 SMTP 服务器?

如果没有任何代码,这不会是一个很大的问题,所以这就是我所拥有的:

@Test
public void testResendConfirmationEmail() throws Exception {
    mockMvc.perform(get("/resend").principal(getSpoofedPrincipal()))
            .andExpect(status().isFound())
            .andExpect(redirectedUrl("/notactive"));
}

如您所见,我使用 Spring 的 MockMVC 作为集成测试的主要入口点,在本例中是重新发送确认电子邮件。

那么我该怎么做:

  1. 阻止它发送任何电子邮件?
  2. 检查它是否发送了正确的电子邮件?

任何意见是极大的赞赏!

4

1 回答 1

2

也许您可以使用Dumpster设置一个虚假的电子邮件服务器。然后你可以发送它,确认它到达而不需要收件人。

于 2013-07-03T23:09:52.247 回答