【问题标题】: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


    【解决方案1】:

    只需使用test:compile 命令。

    【讨论】:

    • 这会编译测试和代码吗?还是只是测试?
    【解决方案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)

        【讨论】:

          猜你喜欢
          • 2013-04-29
          • 2017-09-24
          • 1970-01-01
          • 2017-10-09
          • 2011-08-30
          • 1970-01-01
          • 2012-01-07
          • 2020-02-05
          • 2015-02-14
          相关资源
          最近更新 更多