首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对sbt-assembly构建的jar运行测试

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

Stack Overflow用户
提问于 2014-10-17 21:00:03
回答 1查看 2.5K关注 0票数 4

我运行sbt-assembly是为了构建一个可以部署到其他地方的jar文件。我希望针对此jar文件运行测试,而不是针对本地.class文件。对本地.class文件运行是sbt test的默认设置,但我想测试jar (但不将测试类文件合并到jar中)。

EN

回答 1

Stack Overflow用户

发布于 2014-10-17 22:09:56

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

代码语言:javascript
复制
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,它将在内部执行以下操作

代码语言:javascript
复制
scala -classpath uber-jar-test.jar classpath scalatest-<version>.jar org.scalatest.tools.Runner -p compiled_tests

sbt-assembly在组装阶段运行测试,但我非常确定它正在对尚未打包的类进行测试。因此,您可能希望将它们排除在组装阶段之外

代码语言:javascript
复制
test in (Test, assembly) := {}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26425593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档