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

dhxwm5r4  于 2022-11-23  发布在  Scala
关注(0)|答案(4)|浏览(153)

有没有一种方法可以在不运行SBT的情况下构建测试?
我自己的用例是使用一个scalac插件对测试代码进行静态分析。另一个可能的用例是使用一个独立的运行程序运行部分或全部测试代码,而不是使用内置在SBT中的运行程序。
理想情况下,应该有一个适用于任何SBT项目的解决方案。例如,Maven有一个test-compile命令,可以用来编译测试而不运行它们。如果SBT也有同样的功能,那就太好了。
不太理想,但仍然非常有用的解决方案是涉及修改项目的构建文件。

arknldoa

arknldoa1#

只需使用Test / compile命令。

nuypyhwy

nuypyhwy2#

Test/compile用于编译单元测试。
要编译集成测试,可以使用IntegrationTest/compile
另一个在每次文件更改时持续编译的提示:~Test/compile

lc8prwob

lc8prwob3#

我们有一个用于多个项目的build.sbt文件。执行sbt test:compile编译了每个项目的测试,花费了30多分钟。
我发现我只能编译名为xyz的特定项目的测试,方法是:

sbt xyz/test:compile
bvjxkvbb

bvjxkvbb4#

使用sbt 1.5.0版和更高版本test:compile会返回过时警告。
使用Test / compile
(文档)

相关问题