Scala Language
Test avec ScalaTest
Recherche…
Bonjour test de spécification mondiale
Créez une classe testing dans le répertoire src/test/scala
, dans un fichier nommé HelloWorldSpec.scala
. Mettez ceci dans le fichier:
import org.scalatest.{FlatSpec, Matchers}
class HelloWorldSpec extends FlatSpec with Matchers {
"Hello World" should "not be an empty String" in {
val helloWorld = "Hello World"
helloWorld should not be ("")
}
}
- Cet exemple utilise
FlatSpec
etMatchers
, qui font partie de la bibliothèque ScalaTest. -
FlatSpec
permet aux tests d'être écrits dans le style BDD (Behavior Driven Development) . Dans ce style, une phrase est utilisée pour décrire le comportement attendu d’une unité de code donnée. Le test confirme que le code adhère à ce comportement. Voir la documentation pour plus d'informations .
Spec Cheatsheet de test
Installer
Les tests ci-dessous utilisent ces valeurs pour les exemples.
val helloWorld = "Hello World"
val helloWorldCount = 1
val helloWorldList = List("Hello World", "Bonjour Le Monde")
def sayHello = throw new IllegalStateException("Hello World Exception")
Vérification de type
Pour vérifier le type de donnée val
:
helloWorld shouldBe a [String]
Notez que les parenthèses ici sont utilisées pour obtenir le type String
.
Contrôle égal
Pour tester l'égalité:
helloWorld shouldEqual "Hello World"
helloWorld should === ("Hello World")
helloWorldCount shouldEqual 1
helloWorldCount shouldBe 1
helloWorldList shouldEqual List("Hello World", "Bonjour Le Monde")
helloWorldList === List("Hello World", "Bonjour Le Monde")
Pas de contrôle égal
Pour tester l'inégalité:
helloWorld should not equal "Hello"
helloWorld !== "Hello"
helloWorldCount should not be 5
helloWorldList should not equal List("Hello World")
helloWorldList !== List("Hello World")
helloWorldList should not be empty
Vérification de la longueur
Pour vérifier la longueur et / ou la taille:
helloWorld should have length 11
helloWorldList should have size 2
Vérification des exceptions
Pour vérifier le type et le message d'une exception:
val exception = the [java.lang.IllegalStateException] thrownBy {
sayHello
}
exception.getClass shouldEqual classOf[java.lang.IllegalStateException]
exception.getMessage should include ("Hello World")
Inclure la bibliothèque ScalaTest avec SBT
En utilisant SBT pour gérer la dépendance de la bibliothèque , ajoutez ceci à build.sbt
:
libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.0"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"
Plus de détails peuvent être trouvés sur le site ScalaTest .
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow