Ir al contenido principal
Versión: 5.8.x

Inspectores

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

Los inspectores permiten probar elementos dentro de colecciones. Son funciones de extensión para colecciones y arrays que verifican que todos, ninguno o algunos elementos cumplan las aserciones dadas. Por ejemplo, para comprobar que una lista de nombres contiene al menos dos elementos con longitud de 7 o más caracteres, podemos hacer:

val xs = listOf("sam", "gareth", "timothy", "muhammad")
xs.forAtLeast(2) {
it.shouldHaveMinLength(7)
}

De manera similar, si quisiéramos afirmar que ningún elemento en una colección pasa las aserciones, podríamos hacer algo como:

xs.forNone {
it.shouldContain("x")
it.shouldStartWith("bb")
}

La lista completa de inspectores es:

  • forAll que comprueba que todos los elementos pasan las aserciones

  • forNone que verifica que ningún elemento pasa

  • forOne que asegura que solo un elemento pasa

  • forAtMostOne que comprueba que pasan 0 o 1 elementos

  • forAtLeastOne que verifica que 1 o más elementos pasan

  • forAtLeast(k) que generaliza verificando que k o más elementos pasan

  • forAtMost(k) que generaliza verificando que k o menos elementos pasan

  • forAny que es un alias de forAtLeastOne

  • forSome que verifica que entre 1 y n-1 elementos pasan. Es decir, si NO PASA ninguno o pasan TODOS, se considera un fallo.

  • forExactly(k) que generaliza verificando que exactamente k elementos pasan. Esta es la base para implementar los otros métodos