scala - 如何为specs2测试指定不同的application.conf?

标签 scala intellij-idea specs2

我在Scala中有一个IntelliJ IDEA项目,并开始添加org.specs2测试。我在找出如何放入将由测试使用的application.conf文件时遇到了麻烦。

我尝试执行以下操作:

test
    resources
        application.conf 
    scala
        mypackage.myname
            MyTestSpec

然后叫
ConfigFactory.load()

在MyTestSpec中。但是,什么都没有加载,src文件夹的资源子文件夹中的application.conf也没有加载。我的目标是能够针对某些测试环境编写集成测试(请不要争论这个目标的有效性...)。

如何去做或者有更好的办法去做?我今天开始阅读specs2文档,而且我对Scala还是一个新手,所以我只是在这里假设这就是测试配置的工作方式。

到目前为止,我已经尝试在测试的构建配置中指定-Dconfig.file = my_test_conf_full路径(从IntelliJ的Build/Configurations ...菜单),但是这没有任何区别。

谢谢你。

最佳答案

使用SBT

将您的自定义配置文件放置在src/test/resources/application.test.conf

然后,将其添加到您的build.sbt中:

// When running tests, we use this configuration
javaOptions in Test += s"-Dconfig.file=${sourceDirectory.value}/test/resources/application.test.conf",
// We need to fork a JVM process when testing so the Java options above are applied
fork in Test := true,

关于scala - 如何为specs2测试指定不同的application.conf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30670437/

相关文章:

Java/Ubuntu - 在 main 之外打印在 Windows 上有效,但在 Ubuntu 14.04 上不执行任何操作

java - Intellij 无法连接到本地 m2 存储库

java - 如何以编程方式在IntelliJ IDEA中设置全局gradle设置(gradle vm选项)?

scala - Play 框架 Controller 的单元测试

scala - Specs2 顺序关键字

mysql - Play framework 2.2.2 evolutions 未在 mysql 中触发

scala - View 和流有什么区别?

xml - Scala:XML 空白删除?

scala - 如何在 Scala 单元测试中创建临时目录

scala - Specs2 .await 超时 > CI 服务器上的 1 秒