Scala Language
Pruebas con ScalaTest
Buscar..
Hola World Spec Test
Cree una clase de prueba en el directorio src/test/scala
, en un archivo llamado HelloWorldSpec.scala
. Pon esto dentro del archivo:
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 ("")
}
}
- Este ejemplo utiliza
FlatSpec
yMatchers
, que forman parte de la biblioteca ScalaTest. -
FlatSpec
permite que las pruebas se escriban en el estilo de desarrollo impulsado por el comportamiento (BDD) . En este estilo, se usa una oración para describir el comportamiento esperado de una unidad de código dada. La prueba confirma que el código se adhiere a ese comportamiento. Vea la documentación para información adicional .
Hoja de prueba de especificaciones
Preparar
Las siguientes pruebas utilizan estos valores para los ejemplos.
val helloWorld = "Hello World"
val helloWorldCount = 1
val helloWorldList = List("Hello World", "Bonjour Le Monde")
def sayHello = throw new IllegalStateException("Hello World Exception")
Tipo de verificación
Para verificar el tipo para un determinado val
:
helloWorld shouldBe a [String]
Tenga en cuenta que los paréntesis aquí se utilizan para obtener el tipo String
.
Cheque igual
Para probar la igualdad:
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")
Cheque no igual
Para probar la desigualdad:
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
Verificación de longitud
Para verificar longitud y / o tamaño:
helloWorld should have length 11
helloWorldList should have size 2
Verificación de excepciones
Para verificar el tipo y mensaje de una excepción:
val exception = the [java.lang.IllegalStateException] thrownBy {
sayHello
}
exception.getClass shouldEqual classOf[java.lang.IllegalStateException]
exception.getMessage should include ("Hello World")
Incluir la biblioteca ScalaTest con SBT
Usando SBT para administrar la dependencia de la biblioteca , agregue esto a build.sbt
:
libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.0"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"
Más detalles se pueden encontrar en el sitio de ScalaTest .
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow