我开始通过 Scala Koans 进行工作,它是围绕一套单元测试组织的,其中包含需要填写的空白。(这个想法是根据类似的 Ruby Koans 项目建模的。)您开始运行 sbt 工具一个测试,它警告:
[信息] + ********************************************* [信息] + [信息] + [信息] + [info] + 请冥想“AboutEmptyValues”套件的公案“None equals None” [信息] + [信息] + [信息] + [信息] + *********************************************
...所以你看一下这个单元测试,它说:
测试(“无等于无”){ 断言(无 === __) }
...经过冥想,你意识到你应该像这样填空:
测试(“无等于无”){ 断言(无 === 无) }
...然后进入下一个单元测试。
我的问题是,这个
===
运算符是什么?我似乎无法在任何地方找到它。 这是 Scala Koans 项目本身定义的 DSL 运算符吗? 或者它是 ScalaTest 框架的一部分? 或者在 Scala 中?
这是来自 ScalaTest 的三等运算符。看一下这个页面:FunSuite 入门。它说:
ScalaTest 允许您使用 Scala 的断言语法,但定义了一个三元组 等于运算符 (===) 可以为您提供更好的错误消息。下列 代码会给你一个错误,仅表明断言失败:
assert(1 == 2)
使用三等号会给你更多信息错误 消息,“1 不等于 2”:
assert(1 === 2)