【发布时间】:2020-03-23 12:39:06
【问题描述】:
我的测试失败了,这是我的测试课。
public class EmailGeneratorServiceTests {
@Mock
JavaMailSender javaMailSender;
EmailGeneratorService emailGeneratorService;
@Before
public void before() {
MockitoAnnotations.initMocks(this);
emailGeneratorService = new EmailGeneratorService(javaMailSender);
}
@Test
public void generateAndSendMessageSuccess() throws MessagingException, IOException {
String email = "test@test.com";
String body = "Some contents.";
String subject = "Some subject";
emailGeneratorService.generateAndSendMessage(email, body, subject);
List<Message> inbox = Mailbox.get(email);
//inbox.size === 0
assertTrue(inbox.size() == 1);
assertEquals(subject, inbox.get(0).getSubject());
assertEquals(body, inbox.get(0).getContent());
}
}
当我调用 inbox.size() 时,我得到 0,但预期为 1。服务器是 smtp。
这是 EmailGeneratorService。
@Service
public class EmailGeneratorService {
SimpleMailMessage simpleMailMessage;
JavaMailSender javaMailSender;
@Autowired
public EmailGeneratorService(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
this.simpleMailMessage = new SimpleMailMessage();
}
public void generateAndSendMessage (String email, String messageBody, String subject) {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setTo(email);
simpleMailMessage.setText(messageBody);
simpleMailMessage.setSubject(subject);
javaMailSender.send(simpleMailMessage);
}
}
请写出问题所在并解释问题所在。
【问题讨论】:
标签: java spring spring-boot mockito