如何使用SBT编译测试而不运行它们

use*_*090 94 scala build-tools sbt

有没有办法用SBT构建测试而不运行它们?

我自己的用例是使用scalac插件对测试代码运行静态分析.另一个可能的用例是使用单独的运行程序运行部分或全部测试代码,而不是内置于SBT中的运行程序.

理想情况下,这个问题的解决方案适用于任何SBT项目.例如,Maven有一个test-compile命令,可以用来编译测试而不运行它们.如果SBT有同样的事情会很棒.

不太理想,但仍然非常有用,将是涉及修改项目的构建文件的解决方案.

Gui*_*ssé 155

只需使用该test:compile命令.

  • 这会编译测试和代码吗?或者只是测试? (4认同)

Bre*_*ire 18

test:compile 适用于编译单元测试.

要编译集成测试,您可以使用it:compile.

在每个文件更改时连续编译的另一个提示: ~test:compile


iba*_*n04 11

使用 sbt 版本 1.5.0 及更高版本test:compile会返回弃用警告。

使用Test / compile

文档


pac*_*low 9

我们有一个build.sbt用于多个项目的文件。做sbt test:compile编译为每一个项目的测试,并接管了30分钟。

我发现我只能编译通过以下方式命名的特定项目的测试xyz

sbt xyz/test:compile
Run Code Online (Sandbox Code Playgroud)