Tengo que escribir un conjunto de pruebas muy grande para un conjunto complejo de reglas comerciales que actualmente se capturan en varias formas tabulares (por ejemplo, si los parámetros X Y Z son tales, el valor debe ser entre V1 y V2). Cada regla tiene un nombre y su propia semántica.¿Es posible generar programas y suites de prueba JUnit mediante programación?
Mi objetivo final es tener un conjunto de pruebas, organizado en sub suites de prueba, con un caso de prueba para cada regla.
Una opción es codificar realmente todas estas reglas como pruebas. Eso es feo, lento y poco flexible.
Otra es escribir un script Python que lea los archivos de reglas y genere clases Java con las pruebas unitarias. Prefiero evitar esto si puedo. Otra variación sería usar Jython.
Idealmente, sin embargo, me gustaría tener un conjunto de pruebas que lea los archivos y luego definir sub-suites y pruebas dentro de ellos. Cada una de estas pruebas se puede inicializar con ciertos valores tomados de los archivos de tabla, ejecutar puntos de entrada fijos en nuestro sistema y luego llamar a alguna función de validación en los resultados en función del valor esperado.
¿Hay alguna manera razonable de lograr esto usando solo Java?
Actualización: Es posible que haya simplificado algo nuestro tipo de reglas. Algunos de ellos son tabulares (estilo Excel), otros son más borrosos. La pregunta general sigue siendo, ya que probablemente no soy la primera persona en tener este problema.
Muy interesado en conocer esto; Necesito aprender más sobre casos de prueba. – I82Much