Scala 将src/test打包到sbt项目中的jar中

Scala 将src/test打包到sbt项目中的jar中,scala,sbt,Scala,Sbt,在sbt项目中,测试的标准源位置为: src/test/Scala中的Scala源/ src/test/Java中的Java源代码/ 当我运行sbt包时,这些测试文件没有打包 我想将打包好的jar复制到远程机器上运行测试 有没有办法让sbt在包中包含测试资源?在声明测试的行中,在sbt中包含:%compile->test。可能是这样的: libraryDependencies += "org.scala-tools.testing" %% "scalacheck" % "1.9" % "test

在sbt项目中,测试的标准源位置为:

src/test/Scala中的Scala源/

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

当我运行sbt包时,这些测试文件没有打包

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


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

在声明测试的行中,在sbt中包含:%compile->test。可能是这样的:

libraryDependencies += "org.scala-tools.testing" %% "scalacheck" % "1.9" % "test" 
将是这样的:

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

我认为您需要汇编而不是包来包含测试库,但我不确定这一点。

在您声明测试的行中的sbt中包含:%compile->Test。可能是这样的:

libraryDependencies += "org.scala-tools.testing" %% "scalacheck" % "1.9" % "test" 
将是这样的:

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

我认为您需要汇编而不是包来包含测试库,但我不确定这一点。

只需运行sbt Test:package即可。这将从主jar中生成一个单独的jar,因此不要忘记复制两者和测试依赖项;如果您只想管理一个jar,那么可以使用并运行sbt-test:assembly。

只需运行sbt-test:package即可。这将从主jar中生成一个单独的jar,因此不要忘记复制两者和测试依赖项;如果您只想管理一个jar,那么可以使用并运行sbt test:assembly。

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

计划 .settingsfullClasspath在编译中:=Test.value中的fullClasspath .settingspackageBin在编译中:=Test.value中的packageBin


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

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

计划 .settingsfullClasspath在编译中:=Test.value中的fullClasspath .settingspackageBin在编译中:=Test.value中的packageBin


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

不,这是一个完全不同的问题的答案。不,这是一个完全不同的问题的答案。