Scala Koans中的===(triple-equals)运算符是什么?

我开始按照Scala Koans的方式工作,这个Scala Koans围绕着一套unit testing进行组织,这些unit testing需要填写空白(这个想法是在一个类似的Ruby Koans项目之后build模的)。你启动运行一个testing的sbt工具,它告诫:

 [info] + ***************************************** 
 [info] +  
 [info] +  
 [info] +  
 [info] +请仔细阅读套件“AboutEmptyValues”的koan“None equals None” 
 [info] +  
 [info] +  
 [info] +  
 [info] + ***************************************** 

…所以你去看看这个unit testing,它说:

testing(“None等于无”){
  断言(无=== __)
 }

…冥想后,你意识到你应该填写这样的空白:

testing(“None等于无”){
  断言(无===无)
 }

…然后移动到下一个unit testing。

我的问题是,这个===运算符是什么? 我似乎无法在任何地方find它。 这是在Scala Koans项目中定义的DSL运营商吗? 还是它是ScalaTest框架的一部分? 或者在斯卡拉适当?

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

ScalaTest可以让你使用Scala的断言语法,但是定义了一个三元等号(===)给你更好的错误信息。 下面的代码会给你一个错误,指出只有一个断言失败:

 assert(1 == 2) 

使用三重平等,而不是给你更多的信息错误信息,“1不等于2”:

 assert(1 === 2)