使用 Wiser 进行mail 单体测试

来源:互联网 发布:黑瞳网络论坛 编辑:程序博客网 时间:2024/06/04 20:03
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.subethamail.wiser.Wiser;
import org.subethamail.wiser.WiserMessage;


import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.IOException;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:unittest-Context.xml"})
public class SimpleMailServiceImplTest extends TestCase {


    private Wiser wiser;


    @Autowired
    private MailService mailService;


    @Before
    public void setUp(){
        wiser = new Wiser();
        wiser.setPort(2525);
        wiser.start();
    }


    @After
    public void cleanUp(){
        wiser.stop();
    }


    @Test
    public void testMailSender() throws MessagingException, IOException {
        MailMessage mail = new MailMessage();
        mail.setSubject("test subject");
        mail.setSender("sender@l.com");
        mail.setReceivers(new String[]{"receiver@l.com"});
        mail.setEmailContent("test");


        mailService.send(mail);


        WiserMessage message = wiser.getMessages().get(0);
        MimeMessage receivedMail = message.getMimeMessage();
        assertEquals("sender@l.com", receivedMail.getFrom()[0].toString());
        assertEquals("receiver@l.com",receivedMail.getAllRecipients()[0].toString());
        assertEquals("test subject", receivedMail.getSubject());


    }



配置文件:

<!--Mail-->
    <bean id="emailTemplate" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="defaultEncoding" value="utf-8" />
        <property name="host" value="localhost" />
        <property name="port" value="2525" />
    </bean>

0 0
原创粉丝点击