Configuration 使用配置中断播放规格,因为;“没有启动的应用程序”;
我在Configuration 使用配置中断播放规格,因为;“没有启动的应用程序”;,configuration,playframework-2.0,specs2,Configuration,Playframework 2.0,Specs2,我在application.conf上将一些字符串外部化到HOCON。我访问的配置值如下: import play.api.Play.current import play.api.Play.configuration configuration.getString("foo.bar").get() 如文档所述,尽可能早地在钥匙丢失的情况下快速失效 现在,我的一些依赖于已配置对象的测试失败,stacktrace指出: 原因:java.lang.RuntimeException:没有启动的应用
application.conf
上将一些字符串外部化到HOCON。我访问的配置值如下:
import play.api.Play.current
import play.api.Play.configuration
configuration.getString("foo.bar").get()
如文档所述,尽可能早地在钥匙丢失的情况下快速失效
现在,我的一些依赖于已配置对象的测试失败,stacktrace指出:
原因:java.lang.RuntimeException:没有启动的应用程序
我想这与配置有关?我怎样才能解决这个问题?(测试是)您是否有正在运行的
FakeApplication
?如文件所述:在运行测试/测试方法之前
Wiki中的示例:
@Test
public void findById() {
running(fakeApplication(), new Runnable() {
public void run() {
Computer macintosh = Computer.find.byId(21l);
assertThat(macintosh.name).isEqualTo("Macintosh");
assertThat(formatted(macintosh.introduced)).isEqualTo("1984-01-24");
}
});
}
如果这不能解决您的问题,那么从Stacktrace提供更多信息可能会有所帮助
编辑:请仔细标记您的问题,提及
playframework
和playframework-2.0
是没有意义的,因此,我需要将每个测试包装在该块中,以便只使用一些配置值?必须有一种更简单/非黑客的方法,这是一个好问题:)也许创建一个单例类并在启动测试用例时初始化。。。公平地说,我现在不能想出别的办法,这就是我实际使用的解决方案,我只是觉得我做错了什么。如果你使用的是specs2,你可以在上下文中使用它