Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何在sbt构建的所有阶段(或者可能只是在发布阶段)跳过测试_Scala_Sbt - Fatal编程技术网

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:=…