Coincidencias parciales
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Si kotest no encuentra una coincidencia exacta para un String o una instancia de una clase de datos, puede intentar buscar algo similar.
Por ejemplo, en el siguiente caso dos de tres campos coinciden, por lo que kotest considera que sweetGreenApple tiene un 66,6% de similitud con sweetRedApple:
listOf(sweetGreenApple, sweetGreenPear) shouldContain (sweetRedApple)
(snip)
PossibleMatches:
expected: Fruit(name=apple, color=red, taste=sweet),
but was: Fruit(name=apple, color=green, taste=sweet),
The following fields did not match:
"color" expected: <"red">, but was: <"green">
Por defecto, kotest solo considerará pares de objetos con más del 50% de campos coincidentes. Si es necesario, podemos modificar similarityThresholdInPercent en la configuración.
Del mismo modo, si kotest no detecta una coincidencia exacta, puede intentar encontrar un String similar. En la salida, la parte coincidente se indica con signos de más:
listOf("sweet green apple", "sweet red plum") shouldContain ("sweet green pear")
(snip)
PossibleMatches:
Match[0]: part of slice with indexes [0..11] matched actual[0..11]
Line[0] ="sweet green apple"
Match[0]= ++++++++++++-----
Por defecto, la búsqueda de cadenas similares solo está activada cuando tanto el valor esperado como el real tienen longitudes entre 8 y 1024 caracteres.
Si necesitamos considerar valores esperados más cortos o largos, podemos modificar los valores de configuración minSubstringSubmatchingSize y maxSubtringSubmatchingSize.
Igualmente, si necesitamos considerar valores reales más cortos o largos, podemos modificar los valores de configuración minValueSubmatchingSize y maxValueSubmatchingSize.
Por defecto, se descartan coincidencias posibles con menos del 66% de similitud, y este valor predeterminado puede modificarse mediante el parámetro similarityThresholdInPercentForStrings en la configuración.
Para desactivar completamente la búsqueda de cadenas similares, establece enabledSubmatchesInStrings como false en la configuración.