播放:运行 使用自定义 GuiceApplicationLoader 进行测试

Play: Run tests with custom GuiceApplicationLoader

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

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

所以我发现我可以通过将自定义 GuiceApplicationLoader 作为参数传递给 WithApplicationLoader 来注入自定义 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) {
        ...
      }
    }

}