【问题标题】:Reuse test resources (logback-test.xml) from dependent project with SBT使用 SBT 重用依赖项目中的测试资源 (logback-test.xml)
【发布时间】:2014-06-11 01:48:12
【问题描述】:

我的 Build.scala 文件中定义了 3 个项目:

  • 常见
  • services.dependsOn(common)
  • web.dependsOn(common)

Project Common 包含带有 logback-test.xml 配置的 /test/resources,我想将其用于服务和 Web 测试。

此设置在 intelliJ 中使用 sbt-idea 运行良好,但是当我尝试从命令行运行 'sbt test' 时,logback-test.xml 不会复制到 /services /target/testClasses/web/target/testClasses 这意味着测试将使用默认的 slf4j 配置,其中包含大量无用的 DEBUG 信息。

我应该怎么做才能强制sbt将测试资源从依赖项目复制到其他项目。

提前致谢

【问题讨论】:

    标签: sbt slf4j logback


    【解决方案1】:

    默认情况下,依赖项不包括测试配置。您可以这样更改:

    • common
    • services.dependsOn(common % "compile->compile;test->test")
    • web.dependsOn(common % "compile->compile;test->test")

    更多信息here

    【讨论】:

    • 还要注意:sbt 将编译依赖类路径放在首位,然后测试依赖项类路径。所以例如你 log4j.properties 可以在当前的测试/资源中工作,但会被依赖模块的 src/resources 覆盖。
    猜你喜欢
    • 2012-01-01
    • 2011-07-14
    • 2017-08-09
    • 2019-08-23
    • 2015-10-03
    • 2018-03-20
    • 2013-12-07
    • 2012-03-16
    • 1970-01-01
    相关资源
    最近更新 更多