use*_*547 5 scala intellij-idea specs2
我在Scala中有一个IntelliJ IDEA项目,并开始添加org.specs2测试.我无法找到如何放入将由测试使用的application.conf文件.
我尝试过以下操作:
test
resources
application.conf
scala
mypackage.myname
MyTestSpec
Run Code Online (Sandbox Code Playgroud)
然后叫
ConfigFactory.load()
Run Code Online (Sandbox Code Playgroud)
在MyTestSpec中.但是,没有加载任何来自src文件夹的resources子文件夹的application.conf,也没有加载.我的目标是能够针对某些测试环境编写集成测试(请不要讨论这个目标的有效性......).
如何做到这一点还是有更好的方法去做?我今天开始阅读specs2文档,我对Scala也很陌生,所以我只是假设这是测试配置应该如何工作.
到目前为止,我已尝试在测试的构建配置中指定-Dconfig.file = my_test_conf_full路径(来自IntelliJ中的构建/配置...菜单),但这没有任何区别.
谢谢.
将自定义配置文件放在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,
Run Code Online (Sandbox Code Playgroud)
您可以传递一个包含资源文件路径的字符串,“ConfigFactory”将从文件系统加载该文件,而不是使用类加载器。请参阅概述。
您还可以使用ConfigValueFactory. 看ConfigValueFactory。
我已经成功地将前者用于我的测试,但后者看起来也很有趣。
| 归档时间: |
|
| 查看次数: |
5355 次 |
| 最近记录: |