我运行sbt-assembly是为了构建一个可以部署到其他地方的jar文件。我希望针对此jar文件运行测试,而不是针对本地.class文件。对本地.class文件运行是sbt test的默认设置,但我想测试jar (但不将测试类文件合并到jar中)。
发布于 2014-10-17 22:09:56
要在测试中构建程序集jar,您需要配置
import AssemblyKeys._
Project.inConfig(Test)(baseAssemblySettings)
jarName in (Test, assembly) := s"${name.value}-test-${version.value}.jar"所以现在您可以使用test:assembly准备uber-jar。然而,我不知道用这个jar从sbt运行测试的简单方法。我会选择自定义命令,类似于test:run-test-assembly,它将在内部执行以下操作
scala -classpath uber-jar-test.jar classpath scalatest-<version>.jar org.scalatest.tools.Runner -p compiled_testssbt-assembly在组装阶段运行测试,但我非常确定它正在对尚未打包的类进行测试。因此,您可能希望将它们排除在组装阶段之外
test in (Test, assembly) := {}https://stackoverflow.com/questions/26425593
复制相似问题