Scala Koans 中的 ===(三等号)运算符是什么?

问题描述 投票:0回答:1

我开始通过 Scala Koans 进行工作,它是围绕一套单元测试组织的,其中包含需要填写的空白。(这个想法是根据类似的 Ruby Koans 项目建模的。)您开始运行 sbt 工具一个测试,它警告:

[信息] + ********************************************* 
[信息] +  
[信息] +  
[信息] +  
[info] + 请冥想“AboutEmptyValues”套件的公案“None equals None” 
[信息] +  
[信息] +  
[信息] +  
[信息] + ********************************************* 

...所以你看一下这个单元测试,它说:

测试(“无等于无”){
  断言(无 === __)
}

...经过冥想,你意识到你应该像这样填空:

测试(“无等于无”){
  断言(无 === 无)
}

...然后进入下一个单元测试。

我的问题是,这个

===
运算符是什么?我似乎无法在任何地方找到它。 这是 Scala Koans 项目本身定义的 DSL 运算符吗? 或者它是 ScalaTest 框架的一部分? 或者在 Scala 中?

scala scalatest scala-2.9
1个回答
91
投票

这是来自 ScalaTest 的三等运算符。看一下这个页面:FunSuite 入门。它说:

ScalaTest 允许您使用 Scala 的断言语法,但定义了一个三元组 等于运算符 (===) 可以为您提供更好的错误消息。下列 代码会给你一个错误,仅表明断言失败:

assert(1 == 2)

使用三等号会给你更多信息错误 消息,“1 不等于 2”:

assert(1 === 2)
© www.soinside.com 2019 - 2024. All rights reserved.