Aquí está la página Scalatest sobre el uso del corredor y la discusión extendida sobre las opciones -t
y-z
.
Esta publicación muestra qué comandos funcionan para un archivo de prueba que utiliza FunSpec
.
Aquí está el archivo de prueba:
package com.github.mrpowers.scalatest.example
import org.scalatest.FunSpec
class CardiBSpec extends FunSpec {
describe("realName") {
it("returns her birth name") {
assert(CardiB.realName() === "Belcalis Almanzar")
}
}
describe("iLike") {
it("works with a single argument") {
assert(CardiB.iLike("dollars") === "I like dollars")
}
it("works with multiple arguments") {
assert(CardiB.iLike("dollars", "diamonds") === "I like dollars, diamonds")
}
it("throws an error if an integer argument is supplied") {
assertThrows[java.lang.IllegalArgumentException]{
CardiB.iLike()
}
}
it("does not compile with integer arguments") {
assertDoesNotCompile("""CardiB.iLike(1, 2, 3)""")
}
}
}
Este comando ejecuta las cuatro pruebas en el iLike
bloque describe (desde la línea de comando SBT):
testOnly *CardiBSpec -- -z iLike
También puede usar comillas, por lo que esto también funcionará:
testOnly *CardiBSpec -- -z "iLike"
Esto ejecutará una sola prueba:
testOnly *CardiBSpec -- -z "works with multiple arguments"
Esto ejecutará las dos pruebas que comienzan con "funciona con":
testOnly *CardiBSpec -- -z "works with"
No puedo obtener la -t
opción de ejecutar ninguna prueba en el CardiBSpec
archivo. Este comando no ejecuta ninguna prueba:
testOnly *CardiBSpec -- -t "works with multiple arguments"
Parece que la -t
opción funciona cuando las pruebas no están anidadas en describe
bloques. Echemos un vistazo a otro archivo de prueba:
class CalculatorSpec extends FunSpec {
it("adds two numbers") {
assert(Calculator.addNumbers(3, 4) === 7)
}
}
-t
se puede usar para ejecutar la prueba individual:
testOnly *CalculatorSpec -- -t "adds two numbers"
-z
También se puede utilizar para ejecutar la prueba única:
testOnly *CalculatorSpec -- -z "adds two numbers"
Consulte este repositorio si desea ejecutar estos ejemplos.