Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java FakeSMTPServerRule.mailbox()不';无法获取邮箱内容NullPointerExection_Java_Spring_Testing_Junit_Email - Fatal编程技术网

Java FakeSMTPServerRule.mailbox()不';无法获取邮箱内容NullPointerExection

Java FakeSMTPServerRule.mailbox()不';无法获取邮箱内容NullPointerExection,java,spring,testing,junit,email,Java,Spring,Testing,Junit,Email,我在测试我的电子邮件服务时遇到了一个问题。当我运行测试时,由于在List receivedMessages=server.mailBox()上生成了空指针,测试失败但我的电子邮件是通过fakesmtp服务器邮箱接收的。你能告诉我怎么处理这个案子吗 测试班 @SpringBootTest @ActiveProfiles("email") @RunWith(SpringRunner.class) class EmailServiceTest { @Autowired

我在测试我的电子邮件服务时遇到了一个问题。当我运行测试时,由于在
List receivedMessages=server.mailBox()上生成了空指针,测试失败但我的电子邮件是通过fakesmtp服务器邮箱接收的。你能告诉我怎么处理这个案子吗

测试班

@SpringBootTest
@ActiveProfiles("email")
@RunWith(SpringRunner.class)
class EmailServiceTest
{
    @Autowired
    EmailService emailService;

    @Rule
    public FakeSmtpRule server = new FakeSmtpRule(ServerConfiguration.create().port(25).bind("localhost"));

    @Test
    void sendEmail() throws MessagingException, IOException
    {
        // Given
        String to = "test@test.com";
        String title = "Title";
        String content = "Content";
        // When
        emailService.sendEmail(to, title, content);
        // Then
        List<EmailModel> receivedMessages = server.mailBox();

        assertTrue(receivedMessages.size() == 1);

        EmailModel receivedMessage = receivedMessages.get(0);

        assertTrue(receivedMessage.getTo().equals(to));
        assertTrue(receivedMessage.getSubject().equals(title));
        assertTrue(receivedMessage.getEmailStr().equals(content));
    }
}
@Service
public class EmailService
{
    private JavaMailSender javaMailSender;

    @Autowired
    public EmailService(JavaMailSender javaMailSender)
    {
        this.javaMailSender = javaMailSender;
    }
    /*Set email attributes and send it via javaMailSender*/
    public void sendEmail(String receiverEmail, String subject, String message)
    {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setTo(receiverEmail);
        simpleMailMessage.setSubject(subject);
        simpleMailMessage.setText(message);
        javaMailSender.send(simpleMailMessage);
    }
}