Ir al contenido principal
Versión: 6.0

Foco y Bang

[Traducción Beta No Oficial]

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Foco

Kotest permite aislar una única prueba de nivel superior anteponiendo f: al nombre de la prueba.

Solo esa prueba (y cualquier subprueba definida dentro de ese ámbito) se ejecutará, omitiendo el resto.

Por ejemplo, en el siguiente fragmento solo se ejecutará la prueba del medio.

class FocusExample : FreeSpec({
"test 1" {
// this will be skipped
}

"f:test 2" {
// this will be executed
}

"test 3" {
// this will be skipped
}
})

El focus en un elemento padre permite ejecutar pruebas anidadas:

class FocusExample : FunSpec({
context("test 1") {
// this will be skipped
test("foo") {
// this will be skipped
}
}

context("f:test 2") {
// this will be executed
test("foo") {
// this will be executed
}
}

context("test 3") {
// this will be skipped
test("foo") {
// this will be skipped
}
}
})
precaución

El flag no funciona si se coloca en pruebas anidadas, ya que estas solo se descubren después de ejecutar la prueba padre. Por lo tanto, el motor de pruebas no podría detectar el prefijo f: en una prueba anidada sin ejecutar primero todos los padres.

Bang

El opuesto de focus es anteponer un signo de exclamación ! a una prueba, lo cual hará que esa prueba (y cualquier subprueba dentro de su ámbito) se omita. En el siguiente ejemplo hemos deshabilitado solo la primera prueba añadiendo el prefijo "!".

class BangExample : FreeSpec({

"!test 1" {
// this will be ignored
}

"test 2" {
// this will run
}

"test 3" {
// this will run too
}
})
consejo

Si quieres deshabilitar el uso de ! (y permitir que se use como primer carácter en nombres de pruebas activas), configura la propiedad del sistema kotest.bang.disable como true.