繁体   English   中英

如何对sbt-assembly构建的jar运行测试

[英]How can I run tests against jar built by sbt-assembly

我正在运行sbt-assembly以构建可以在其他地方部署的单个jar文件。 我想对这个jar文件而不是本地.class文件运行我的测试。 使用sbt test默认运行本地.class文件,但我想测试jar(但不将测试类文件合并到jar中)。

要在测试中构建程序集jar,您需要进行配置

import AssemblyKeys._

Project.inConfig(Test)(baseAssemblySettings)

jarName in (Test, assembly) := s"${name.value}-test-${version.value}.jar"

所以现在你可以准备uber-jar with test:assembly。 但是我不知道用这个jar从sbt运行测试的简单方法。 我会选择自定义命令,例如test:run-test-assembly,它将在内部执行类似的操作

scala -classpath uber-jar-test.jar classpath scalatest-<version>.jar org.scalatest.tools.Runner -p compiled_tests

sbt-assembly在汇编阶段正在运行测试,但我很确定它还没有打包类。 你可能想要将它们从装配阶段排除

test in (Test, assembly) := {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM