我在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)
答案 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提供更多信息会有所帮助。
编辑:请仔细标记您的问题,提及playframework
和playframework-2.0