scala - Play : Run tests with custom GuiceApplicationLoader

标签 scala playframework guice specs2

我有一个 CustomApplicationLoader extends GuiceApplicationLoader,我在其中加载特定于环境的 conf 文件。当我在 ApplicationSpec 中运行测试时,从环境特定的 conf 文件中获取的值丢失了,这可能意味着我的 CustomApplicationLoader 尚未执行。

知道如何将 CustomApplicationLoader 传递给 FakeApplication 或任何其他方法来在测试期间从 conf 文件中读取值吗?或者甚至不应该开箱即用吗?

最佳答案

所以我发现我可以通过将自定义 GuiceApplicationLoader 作为参数传递给 WithApplicationLoader 来注入(inject)自定义 GuiceApplicationLoader,如下所示:

    @RunWith(classOf[JUnitRunner])
class ApplicationSpec extends Specification {

  "My component" should {

    "load environment specific conf values loaded in by CustomApplicationLoader" in new WithApplicationLoader(new CustomApplicationLoader) {
        ...
      }
    }

}

关于scala - Play : Run tests with custom GuiceApplicationLoader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31232782/

相关文章:

scala - Apache Flink:STDOUT文件在TaskExecutor上不可用

java - 在不同的 java maven 项目中使用 sbt 构建的 scala 项目的传递依赖项

playframework - Play 2.0 无法解析 javax.ws.rs/jsr311-api/1.1.1

google-app-engine - 带有 Google Cloud Endpoints 和 Guice 的 Appengine

java - 绑定(bind)到 TypeLiteral 是 google guice 中的好习惯还是坏习惯

spring - 实现驱动和依赖注入(inject)的好处与维护实现的成本

scala - 如何将 Spark 的累加器传递给函数?

Scala Play Websocket - 使用一个 Actor 发送两个 : Array[Byte] and String messages

javascript - 使用浏览器自动下载文件并能正常打开或阅读

scala - Spark.sql 或 df.filter ("").select ("") 哪个更快。使用斯卡拉