Scala Language
Test con ScalaTest
Ricerca…
Ciao World Spec Test
Creare una classe di test nella directory src/test/scala
, in un file denominato HelloWorldSpec.scala
. Metti questo nel file:
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 ("")
}
}
- Questo esempio utilizza
FlatSpec
eMatchers
, che fanno parte della libreria ScalaTest. -
FlatSpec
consente diFlatSpec
test nello stile Behaviour Driven Development (BDD) . In questo stile, una frase viene utilizzata per descrivere il comportamento previsto di una determinata unità di codice. Il test conferma che il codice aderisce a tale comportamento. Vedere la documentazione per ulteriori informazioni .
Cheat sheet Test Spec
Impostare
I test seguenti utilizzano questi valori per gli esempi.
val helloWorld = "Hello World"
val helloWorldCount = 1
val helloWorldList = List("Hello World", "Bonjour Le Monde")
def sayHello = throw new IllegalStateException("Hello World Exception")
Controlla il tipo
Per verificare il tipo per una data val
:
helloWorld shouldBe a [String]
Notare che qui le parentesi sono usate per ottenere il tipo String
.
Uguale controllo
Per testare l'uguaglianza:
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")
Controllo non uguale
Per testare la disuguaglianza:
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
Controllo della lunghezza
Per verificare la lunghezza e / o la dimensione:
helloWorld should have length 11
helloWorldList should have size 2
Controllo delle eccezioni
Per verificare il tipo e il messaggio di un'eccezione:
val exception = the [java.lang.IllegalStateException] thrownBy {
sayHello
}
exception.getClass shouldEqual classOf[java.lang.IllegalStateException]
exception.getMessage should include ("Hello World")
Include la libreria ScalaTest con SBT
Utilizzando SBT per gestire la dipendenza della libreria , aggiungere questo a build.sbt
:
libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.0"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"
Maggiori dettagli possono essere trovati sul sito di ScalaTest .
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow