有没有办法用SBT构建测试而不运行它们?
我自己的用例是使用scalac插件对测试代码运行静态分析。另一个可能的用例是使用单独的运行程序运行部分或全部测试代码,而不是内置于SBT中的运行程序。
理想情况下,这个问题的解决方案适用于任何SBT项目。例如,Maven有一个test-compile命令,可以用来编译测试而不运行它们。如果SBT有同样的事情,那就太好了。
不太理想,但仍然非常有用,是涉及修改项目构建文件的解决方案。
答案 0 :(得分:150)
只需使用test:compile
命令。
答案 1 :(得分:16)
test:compile
适用于编译单元测试。
要编译集成测试,您可以使用it:compile
。
在每次文件更改时不断编译的另一个提示:~test:compile
答案 2 :(得分:2)
答案 3 :(得分:0)
我们有一个build.sbt
文件,用于多个项目。 sbt test:compile
进行了每个项目的测试编译,耗时超过30分钟。
我发现我只能通过执行以下操作来编译名为xyz
的特定项目的测试:
sbt xyz/test:compile