我将Play Framework 2.0配置为使用SCCT进行覆盖,并且可以使用play scct:cover运行scct。

但是,我的测试无法读取任何配置文件,因为配置文件不在类路径中。也就是说,我正在使用类型安全的ConfigFactory来加载配置文件,并且收到以下错误:
com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'KEY.NAME'

play testplay run可以很好地工作。

有什么方法可以强制Play的Build.scala将conf/目录添加到类路径中?

我的plugins.sbt文件的相关部分如下所示:
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

resolvers += Classpaths.typesafeResolver

resolvers += "scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo"

addSbtPlugin("reaktor" % "sbt-scct" % "0.2-SNAPSHOT")

addSbtPlugin("play" % "sbt-plugin" % "2.0.4")

我的Build.scala的相关部分如下所示:
lazy val additionalSettings = Defaults.defaultSettings ++ seq(ScctPlugin.instrumentSettings: _*) ojit_pre

谢谢!

最佳答案

这可能不特定于Play。 scct插件应该像在其他classpath元素中一样,在ScctTest配置的Test配置中包含资源。通过将conf目录添加到scct的非托管资源目录列表中,您可以自己明确地做到这一点:

unmanagedResourceDirectories in ScctPlugin.ScctTest <+= baseDirectory( _ / "conf")

关于playframework-2.0 - 使用SCCT计算代码覆盖率时,Play Framework 2.0类路径中没有配置文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15368681/

10-09 01:12