Soy bastante nuevo en las pruebas unitarias pero tengo la idea de probar unidades de código individuales que realizan una tarea específica y comprobable, sin embargo, estoy en una posición en la que necesita escribir pruebas y proporcionar confianza en la precisión de una salida de un método que actúa sobre un objeto con más de 50 propiedades. Las combinaciones de los valores de estas propiedades producen un resultado basado en reglas inyectadas desde un objeto de definición de regla (usando expresiones lambda) que esencialmente equivale a un porcentaje. Estos porcentajes de salida son "críticos para la misión" y han sido probados con cierta holgazanería, por ejemplo, la calidad de la clase de definición de regla (todos los porcentajes atribuibles para cada regla se suman al 100%) pero las propiedades reales del objeto no tienen estado.Asesoramiento de prueba de unidad en un objeto con muchas propiedades
El objeto "datos" proviene de una base de datos pero puedo, por supuesto, simularlo. Mi problema es el número de permutaciones de datos que necesitarían burla y la cantidad de pruebas que deberían escribirse para garantizar que los datos x, y, z (multiplicados por 50 exponenciales impares) se sientan casi imposibles.
Entonces, la pregunta es, ¿cómo se pueden verificar estas situaciones en un sentido real? ¿Las pruebas de scripting se basan en un estado "correcto" conocido y los resultados "correctos" son posibles/razonables? ¿Son aplicables las pruebas unitarias en este caso y, en caso negativo, qué alternativas existen?
Por cierto, este es el código heredado aquí con una pequeña oportunidad para refactorizar, pero solo si puedo garantizar la precisión, etc. dentro de los plazos de un par de días para hacer tanto el refactor como las pruebas.
Lol - ¿Puedes creer escrito en mi iPhone? Maldito texto predictivo. Clasificará la gramática cuando tengo un teclado real en el frente si yo :) –
@ S.Lott También podríamos tratar de no ser anal con los errores tipográficos, ¿o no? Allí, lo he corregido. ;) – weltraumpirat
Ouch amigo, demasiado duro IMHO –