Scala 如何在sbt构建的所有阶段(或者可能只是在发布阶段)跳过测试
关于如何在Scala 如何在sbt构建的所有阶段(或者可能只是在发布阶段)跳过测试,scala,sbt,Scala,Sbt,关于如何在sbt中跳过测试的典型答案是: sbt "set test in assembly := {}" 但是当我跑的时候,比如说 sbt publishLocal 那么这种方法就行不通了。是否有像这样的全局禁用“测试标志 maven -Dmaven.skip.test=True 如果不是的话。。仅为publishLocal禁用测试的方法是什么?您可以在sbt shell上禁用全局范围内的测试任务,如下所示: set test in ThisBuild := println("test
sbt
中跳过测试的典型答案是:
sbt "set test in assembly := {}"
但是当我跑的时候,比如说
sbt publishLocal
那么这种方法就行不通了。是否有像这样的全局禁用“测试标志
maven -Dmaven.skip.test=True
如果不是的话。。仅为
publishLocal
禁用测试的方法是什么?您可以在sbt shell上禁用全局范围内的测试任务,如下所示:
set test in ThisBuild := println("tests disabled")
通常,publishLocal
根本不依赖于test
任务,除非您或插件正在覆盖该任务。您可以在sbt shell中进行检查,查看其定义位置以及是否存在对测试的依赖:
inspect publishLocal
或用于完整依赖关系树
inspect tree publishLocal
它有可能被重写,间接依赖于另一个作用域中的
test
,在这种情况下,您可以在那里重写它。您是否使用sbt程序集
插件?您是否尝试过以相同的方式设置publishLocal
任务的测试?当然,我尝试过publishLocal
,并且测试以任何方式运行。我们确实有自定义插件-因此很可能是这一问题的根源。这里有很多建议,谢谢!尝试使用此方法时,我遇到以下错误:build.sbt:26:error:test的引用不明确;通过导入依赖项和导入键在同一范围内导入两次。此构建中的测试:=println(“已禁用测试”)
。有没有办法消除歧义,这实际上是标准的sbt
test
-不是我们自定义类中的东西?如果您指定test
任务的完整类路径:set sbt,它应该会起作用。Keys.test:=…