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

时间:2015-03-12 14:29:05

标签: scala sbt

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

Scala来源src/test/scala/

src/test/java/

中的Java源代码

运行sbt package

时,未打包这些测试文件

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

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

3 个答案:

答案 0 :(得分:3)

改为运行sbt test:package。这将产生一个独立的jar,因此不要忘记复制它们(和测试依赖项);如果您只想管理一个jar,可以使用sbt-assembly并运行sbt test:assembly

答案 1 :(得分:0)

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

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

将是这样的:

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

我认为你需要"组装"而不是包括测试库,但我不确定这一点。

答案 2 :(得分:0)

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

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

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