我进行了许多测试,它运行得很好,直到我编写Global对象:

    @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", "[email protected]");

running(fakeApplication(additionalConfiguration), new Runnable() {
...

关于testing - 全局对象onStart无法通过我的所有测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17024371/

10-10 10:08