Scala Koans を使用して作業を開始しました。これは、空白を埋める必要がある単体テストのスイートを中心に構成されています(このアイデアは、同様のRuby Koansプロジェクト。)テストを実行するsbtツールを起動すると、次のように警告されます。
[info] + ******************************************** [info] + [info] + [info] + [info] +スイート "AboutEmptyValues"の "None equals None"について瞑想してください [info] + [info] + [info] + [info] + ************** ***************************
...そして、あなたはこのユニットテストを見に行きます、そしてそれは言います:
test( "None equals None"){ assert(None === __) }
...そして、瞑想の後、あなたはこのように空白を埋めるべきだと気づきます:
test( "None equals None"){ assert(None === None) }
...そして次の単体テストに進みます。
私の質問は、しかし、これは何ですか===
演算子?どこにも見つからないようです。これはScala Koansプロジェクト自体で定義されているDSL演算子ですか?またはScalaTestフレームワークの一部ですか?またはScala適切?
これは、 ScalaTest からの三重等号演算子です。このページをご覧ください: Getting Started with FunSuite 。それは言います:
ScalaTestでは、Scalaのアサーション構文を使用できますが、トリプルイコール演算子(===)を定義して、より良いエラーメッセージを提供します。次のコードは、アサーションが失敗したことのみを示すエラーを表示します。
assert(1 == 2)
代わりにトリプルイコールを使用すると、より有益なエラーメッセージ「1は2に等しくありませんでした」が表示されます。
assert(1 === 2)