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)