【问题标题】:How to compile tests with SBT without running them如何使用 SBT 编译测试而不运行它们
【发布时间】:2012-11-30 14:11:04
【问题描述】:
有没有办法在不运行 SBT 的情况下构建测试?
我自己的用例是使用 scalac 插件对测试代码运行静态分析。另一个可能的用例是使用单独的运行程序运行部分或全部测试代码,而不是 SBT 内置的运行程序。
理想情况下,该问题的解决方案适用于任何 SBT 项目。例如,Maven 有一个 test-compile 命令,可以用来编译测试而不运行它们。如果 SBT 也有同样的东西,那就太好了。
不太理想但仍然非常有用的解决方案是涉及修改项目的构建文件。
【问题讨论】:
标签:
scala
sbt
build-tools
【解决方案2】:
test:compile 用于编译您的单元测试。
要编译集成测试,您可以使用it:compile。
在每次文件更改时持续编译的另一个提示:~test:compile
【解决方案3】:
我们有一个用于多个项目的build.sbt 文件。执行sbt test:compile 编译每个项目的测试并花费了 30 多分钟。
我发现我只能编译名为 xyz 的特定项目的测试,方法是:
sbt xyz/test:compile
【解决方案4】:
使用 sbt 1.5.0 及更高版本test:compile 会返回弃用警告。
使用Test / compile。
(docs)