0

次のような単純な Email クラスがあります (私はEmailerプラグインを使用しています):

public class Email {

public static boolean sendEmail(final String to, final String body, final String subject) {

    MailerAPI mail = play.Play.application().plugin(MailerPlugin.class).email();
    mail.setSubject(subject);
    mail.addRecipient(to);

    try {
        mail.send(body);
        Logger.info(String.format("Sucessfully sent an email to %s", to));
        return true;
    } catch (Exception e) {
        Logger.info(String.format("An error occured when trying to send email to %s: %s", to, e.getStackTrace()));
    }

    return false;
}

}

そして、テストクラスを使用してこれをテストしようとしました:

public class EmailTest {

@Test
public void sendEmail() {
    running(fakeApplication(), new Runnable() {
        public void run() {
            boolean status = Email.sendEmail("my_email", "hello", "subject demo");
            assertThat(status).equals("true");
        }
    });
}

}

私は実行します:play testしかし、私は受け取ります:

    [info] EmailTest
[error] Test EmailTest.sendEmail failed: null
[error]     at utils.Email.sendEmail(Email.java:12)
[error]     at EmailTest$1.run(EmailTest.java:15)
[error]     at play.test.Helpers.running(Helpers.java:294)
[error]     at EmailTest.sendEmail(EmailTest.java:13)
[error]     ...
[info] x EmailTest.sendEmail
[info]
[info]
[info] Total for test EmailTest
[info] Finished in 11.073 seconds
[info] 1 tests, 1 failures, 0 errors
[error] Failed: : Total 1, Failed 1, Errors 0, Passed 0, Skipped 0

私が間違っていることを教えてください。失敗の原因を突き止めるために、より明確に例外をスローしません...

4

1 に答える 1

1

The error occurs not because of test workflow but because I forgot to add this:

1500:com.typesafe.plugin.CommonsMailerPlugin

to play.plugins.

于 2012-10-12T05:18:15.483 に答える