gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 08:19:28 25 4
gpt4 key购买 nike

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

最佳答案

要在测试中构建程序集 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_tests

sbt-assembly 正在组装阶段运行测试,但我很确定它正在对尚未打包的类进行测试。所以你可能想从装配阶段排除它们
test in (Test, assembly) := {}

关于scala - 如何对 sbt-assembly 构建的 jar 运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26425593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com