通过配置中断播放规范因为"没有启动应用程序"

时间:2012-06-01 15:35:40

标签: configuration playframework-2.0 specs2

我在application.conf上将一些字符串外部化为HOCON。我正在访问这样的配置值:

import play.api.Play.current
import play.api.Play.configuration

configuration.getString("foo.bar").get()

尽可能早地在缺少密钥的情况下快速失败,就像文档说的那样。

现在我的一些依赖于已配置的对象的测试失败了,堆栈跟踪表明:

Caused by: java.lang.RuntimeException: There is no started application

我认为这与配置有关?我怎样才能解决这个问题? (测试是specs2

1 个答案:

答案 0 :(得分:9)

你有FakeApplication跑吗?正如文档中所述:http://www.playframework.com/documentation/2.0/JavaTest在运行测试/测试方法之前?

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提供更多信息会有所帮助。

编辑:请仔细标记您的问题,提及playframeworkplayframework-2.0

是没有意义的