在sbt项目中,测试的标准源位置是:
Scala来源src/test/scala/
src/test/java/
运行sbt package
我想将打包的jar复制到远程计算机上运行测试。
有没有办法让sbt在包中包含测试资源?
答案 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。