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