2012-10-11 58 views
0

我有一個簡單的電子郵件類一樣(我用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 

你能讓我知道我在做什麼錯嗎?它不會拋出異常更加清晰,找出failig原因...

回答

1

不發生錯誤,因爲測試工作流程,而是因爲我忘了補充一點:

1500:com.typesafe.plugin.CommonsMailerPlugin

玩。插件。