当前位置: 首页 > 知识库问答 >
问题:

设置使SBT在错误时快速失败(停止)

华欣荣
2023-03-14

是否有一种方法/设置可以使SBT在第一个子项目遇到编译错误时立即停止并退出?

共有1个答案

乐正心水
2023-03-14

简而言之,据我所知,不,SBT不能在编译器或测试错误上“快速失败”。

据我所知,SBT不能控制这一点。SBT只是在检查单元测试时调用适当的测试框架。然后,测试框架可以决定运行测试的顺序、并发运行测试、如何报告问题等。当然,每个测试框架都有自己的特性、配置和约定。Scala最广泛使用的两个测试框架是ScalaTest和Specs2。

幸运的是,您可以在Specs2或Scalatest中获得您所请求的行为。我在下面提供了早期失败的简单单元测试示例。

class SomeSuite extends FunSuite with CancelAfterFailure with Assertions {

  test("first") {
    println("first")
  }

  test("second") {
    assert(false)
  }

  test("third") {
    println("third")
  }
}
class SomeSpec extends Specification {

  sequential
  stopOnFail

  "specs2" should {
    "first" in {
      println("first")
      ok
    }

    "second" in {
      "foo" must equalTo ("bar")
    }

    "third" in {
      println("third")
    }
  }
}
 类似资料:
  • 问题内容: 如何从字符串返回预定义时区中的NSDate 上面的代码返回时间为 问题答案: 如何在预定义的时区中返回NSDate? 你不能 的实例不包含有关时区或日历的任何信息。它只是简单地确定了通用时间的一点。 您可以在任何日历中解释该对象。Swift的字符串插值(示例代码的最后一行)使用的是使用UTC(即输出中的“ +0000”)的。 如果要将的值作为当前用户日历中的字符串,则必须为此显式设置日

  • 我已经看到人们得到了相同的错误消息(error:加载CharSequence时出错,类文件'...\rt.jar(java/lang/CharSequence.class)'被破坏(byte 1470处的坏常量池标记15),最常见的修复方法是降级或升级java/scala/sbt版本。 例如,一个答案是 当前版本:

  • 我正在运行Spring Boot应用程序。 当没有应用程序时。标准配置路径中的属性文件未加载,默认配置似乎已加载。 应用属性: 因此,Spring Boot使用没有数据的scheme创建空数据库,从而导致空程序输出。 如何防止Spring Boot加载数据库默认配置?

  • 我已经发布了很多关于Scala失败处理的问题,非常感谢大家的回答。 我理解我的选择,当处理要么和Scalaz或一个理解,我有另一个(最后一个?)问题: 当操作与外部非功能世界(如数据库)打交道时,如何执行快速失败的操作序列? 我是说我有这样的方法: 感谢Ay和这些答案,我知道如何使用Ayth来做到这一点:在Scala中使用Ayth和Method参数验证链接方法调用,用于理解和monads 但是我的

  • 在时间视图中,从显示屏上方向下滑动,可下拉快速设置菜单。向左或向右滑动进行浏览,轻触可选择免打扰功能或飞行模式: 闹钟 : 设置闹铃重复:关闭、一次、周一至周五或每天。如果您选择一次、周一至周五或每天,同时也要设置闹钟的时间。 设置闹铃后,时间视图中将显示时钟图标。 免打扰:轻触免打扰图标可启用它,再次轻触将关闭图标。当启用免打扰时,您不会收到任何通知或来电提醒。背光灯激活手势也会被禁用。 飞行模

  • 在时间视图中,从显示屏上方向下滑动,可下拉快速设置菜单。 向左或向右滑动进行浏览,轻触可选择一个功能。 轻触 可定制您想在快速设置菜单中看到的功能。从闹铃、倒计时器、请勿打扰和飞行模式中进行选择。 闹铃:设置闹铃重复:关闭、一次、周一至周五或者 每天。如果您选择一次、周一至周五或每天,同时也要设置闹钟的时间。 启用闹铃后,时间视图中将显示时钟图标。 倒计时器:选择设置计时器,然后设置倒计时时间并按