【问题标题】:Packaging src/test into a jar in a sbt project将 src/test 打包到 sbt 项目中的 jar 中
【发布时间】:2015-05-14 18:27:36
【问题描述】:

在一个 sbt 项目中,用于测试的标准源位置是:

src/test/scala/ 中的 Scala 源代码

src/test/java/中的Java源代码

我运行sbt package时没有打包那些测试文件

我想将打包好的jar复制到远程机器上运行测试。

有没有办法让sbt在包中包含测试资源?

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    只需运行sbt test:package。这将生成一个与主 jar 不同的 jar,因此不要忘记复制两者(以及测试依赖项);如果您只想管理一个 jar,可以使用 sbt-assembly 并运行 sbt test:assembly

    【讨论】:

      【解决方案2】:

      Test to include: % "compile->test" 在您声明 test 的行中的 sbt 中。大概是这样的:

      libraryDependencies += "org.scala-tools.testing" %% "scalacheck" % "1.9" % "test" 
      

      会是这样的:

      libraryDependencies += "org.scala-tools.testing" %% "scalacheck" % "1.9" % "compile->test"
      

      我认为你需要“程序集”而不是包来包含测试库,但我不确定这一点。

      【讨论】:

      • 不,这是对一个完全不同的问题的答案。
      【解决方案3】:

      这是显式运行 test:package 的另一种替代方法。 在 sbt 中,对于项目定义,您更新 packageBin 设置,如下所示。

      项目 .settings(编译中的fullClasspath:=(测试中的fullClasspath).value) .settings(Compile 中的packageBin := (Test 中的packageBin).value)

      完成后,将创建 project-tests.jar。

      【讨论】:

        猜你喜欢
        • 2014-10-28
        • 2017-11-06
        • 2015-07-20
        • 2018-09-02
        • 2014-11-23
        • 2011-11-05
        • 1970-01-01
        • 1970-01-01
        • 2011-12-25
        相关资源
        最近更新 更多