我进行了多次测试,它运行完美,直到我编写全局对象:
@Override
public void onStart(Application app) {
Mails.plugin = app.plugin(MailerPlugin.class).email();
Mails.from = app.configuration().getString("smtp.from");
if (Mails.plugin != null) Logger.info("Mailer plugin successfully loaded");
if (Mails.from != null) Logger.info("Mail account is " + Mails.from);
}
我在这里加载电子邮件插件。现在,当我尝试使用 inMemoryDatabase 运行我的 fakeApplication 时,我得到一个空指针异常。可能是因为 fakeApplication 不使用配置文件,无法从该文件加载配置。请帮我解决这个问题。
最佳答案
尝试在您的 FakeApplication
中添加自定义配置参数:
Map<String, Object> additionalConfiguration = new HashMap<String, Object>();
additionalConfiguration.put("smtp.from", "foo@bar.com");
running(fakeApplication(additionalConfiguration), new Runnable() {
...
关于testing - 全局对象 onStart 未能通过我的所有测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17024371/