J'ai commencé à me frayer un chemin à travers le Scala Koans , qui est organisé autour d'une suite de tests unitaires avec des blancs que l'on doit remplir. (Cette idée a été modelée d'après un Ruby similaire) Projet Koans.) Vous démarrez l'outil sbt en exécutant un test, et il avertit:
[info] + ***************************************** [info] + [info] + [info] + [info] + S'il vous plaît méditez sur koan "Aucun n'est égal à Aucun" de la suite "AboutEmptyValues" [info] + [info] + [info] + [info] + ************** ***************************
... et donc vous allez regarder ce test unitaire et il dit:
test ("Aucun n'est égal à Aucun") { assert (Aucun === __) }
... et, après la méditation, vous réalisez que vous devez remplir le blanc comme ceci:
test ("Aucun n'est égal à Aucun") { assert (Aucun === Aucun) }
... puis il passe au test unitaire suivant.
Ma question, cependant, est quel est cet opérateur ===
? Je n'arrive pas à le trouver nulle part. S'agit-il d'un opérateur DSL défini dans le projet Scala Koans lui-même? Ou fait-il partie du cadre ScalaTest? Ou dans Scala bon?
Il s'agit de l'opérateur triple égal de ScalaTest . Jetez un œil à cette page: Mise en route avec FunSuite . Ça dit:
ScalaTest vous permet d'utiliser la syntaxe d'assertion de Scala, mais définit un opérateur triple égal (===) pour vous donner de meilleurs messages d'erreur. Le code suivant vous donnera une erreur indiquant uniquement qu'une assertion a échoué:
assert(1 == 2)
L'utilisation de triple égal à la place vous donnerait le message d'erreur le plus informatif, "1 n'était pas égal à 2":
assert(1 === 2)