Ir al contenido principal
Versión: 5.9.x

Orden de ejecución de tests

[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 →

Al ejecutar múltiples pruebas desde una Spec, existe un orden determinado para su ejecución.

Por defecto, se utiliza un orden secuencial (el orden en que los tests están definidos en el spec), pero también es posible configurarlos para que se ejecuten en un orden aleatorio o lexicográfico.

Esta configuración se puede establecer tanto en un Spec como en ProjectConfig sobrescribiendo la función testCaseOrder. Si existen ambas configuraciones, la del Spec tendrá prioridad.

nota

Los tests anidados siempre se ejecutarán en orden de descubrimiento (secuencial) independientemente de la configuración del orden de tests.

Orden secuencial

Los tests raíz se ejecutan en el orden en que están definidos en el archivo spec.

class SequentialSpec : StringSpec() {

override fun testCaseOrder(): TestCaseOrder? = TestCaseOrder.Sequential

init {
"foo" {
// I run first as I'm defined first
}

"bar" {
// I run second as I'm defined second
}
}
}

Orden aleatorio

Los tests raíz se ejecutan en un orden aleatorio.

class RandomSpec : StringSpec() {

override fun testCaseOrder(): TestCaseOrder? = TestCaseOrder.Random

init {
"foo" {
// This test may run first or second
}

"bar" {
// This test may run first or second
}
}
}

Orden lexicográfico

Los tests raíz se ejecutan en orden lexicográfico.

class LexicographicSpec : StringSpec() {

override fun testCaseOrder(): TestCaseOrder? = TestCaseOrder.Lexicographic

init {
"foo" {
// I run second as bar < foo
}

"bar" {
// I run first as bar < foo
}
}
}