Scala Language
Testen mit ScalaTest
Suche…
Hallo Weltspezifikationstest
Erstellen Sie eine Testklasse im Verzeichnis src/test/scala
in einer Datei namens HelloWorldSpec.scala
. Fügen Sie dies in die Datei ein:
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 ("")
}
}
- In diesem Beispiel werden
FlatSpec
undMatchers
, die Bestandteil der ScalaTest-Bibliothek sind. -
FlatSpec
ermöglicht dasFlatSpec
Tests im BDD- Stil (Behavior-Driven Development) . In diesem Stil wird ein Satz verwendet, um das erwartete Verhalten einer bestimmten Codeeinheit zu beschreiben. Der Test bestätigt, dass der Code diesem Verhalten entspricht. Weitere Informationen finden Sie in der Dokumentation .
Spec Test Cheatsheet
Konfiguration
Bei den folgenden Tests werden diese Werte für die Beispiele verwendet.
val helloWorld = "Hello World"
val helloWorldCount = 1
val helloWorldList = List("Hello World", "Bonjour Le Monde")
def sayHello = throw new IllegalStateException("Hello World Exception")
Typcheck
So überprüfen Sie den Typ für einen bestimmten val
:
helloWorld shouldBe a [String]
Beachten Sie, dass die Klammern hier verwendet werden, um den Typ String
.
Gleiche Kontrolle
Gleichheit prüfen:
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")
Nicht gleich prüfen
Um Ungleichheit zu testen:
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
Längenprüfung
Länge und / oder Größe überprüfen:
helloWorld should have length 11
helloWorldList should have size 2
Ausnahmen prüfen
So überprüfen Sie den Typ und die Nachricht einer Ausnahme:
val exception = the [java.lang.IllegalStateException] thrownBy {
sayHello
}
exception.getClass shouldEqual classOf[java.lang.IllegalStateException]
exception.getMessage should include ("Hello World")
Binden Sie die ScalaTest Library in SBT ein
build.sbt
mit SBT die Bibliotheksabhängigkeit hinzu , und fügen Sie build.sbt
zu build.sbt
:
libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.0"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"
Weitere Informationen finden Sie auf der ScalaTest-Website .
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow