91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

spring boot junit如何測試郵件發送

小樊
85
2024-07-22 09:10:58
欄目: 編程語言

在Spring Boot中,可以使用Mockito來模擬郵件發送功能,并使用JUnit來編寫測試用例。下面是一個簡單的示例:

首先,在Spring Boot項目中添加相關依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>3.11.0</version>
    <scope>test</scope>
</dependency>

然后編寫一個郵件發送服務:

@Service
public class EmailService {

    @Autowired
    private JavaMailSender javaMailSender;

    public void sendEmail(String to, String subject, String body) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo(to);
        message.setSubject(subject);
        message.setText(body);
        javaMailSender.send(message);
    }
}

接下來編寫一個測試用例:

@RunWith(MockitoJUnitRunner.class)
public class EmailServiceTest {

    @Mock
    private JavaMailSender javaMailSender;

    @InjectMocks
    private EmailService emailService;

    @Test
    public void testSendEmail() {
        emailService.sendEmail("test@example.com", "Test Subject", "Test Body");

        ArgumentCaptor<SimpleMailMessage> captor = ArgumentCaptor.forClass(SimpleMailMessage.class);
        verify(javaMailSender).send(captor.capture());

        SimpleMailMessage message = captor.getValue();
        assertEquals("test@example.com", message.getTo()[0]);
        assertEquals("Test Subject", message.getSubject());
        assertEquals("Test Body", message.getText());
    }
}

在上面的測試用例中,我們使用Mockito來模擬JavaMailSender并驗證發送郵件的行為。通過ArgumentCaptor來捕獲發送的郵件內容,并進行斷言驗證。

這樣就可以使用JUnit來測試郵件發送功能了。

0
朔州市| 从化市| 张家界市| 商南县| 合作市| 治多县| 西和县| 日土县| 清丰县| 同德县| 无锡市| 瓮安县| 奉贤区| 乐陵市| 吴川市| 图片| 启东市| 荔波县| 安龙县| 稷山县| 宜城市| 江津市| 元阳县| 青神县| 大关县| 永兴县| 鄄城县| 宁海县| 丹阳市| 靖州| 阿勒泰市| 林西县| 玉门市| 泰安市| 达日县| 乌恰县| 松阳县| 从江县| 泗洪县| 贵港市| 裕民县|