Estoy trabajando en una biblioteca C++ que (entre otras cosas) tiene funciones para leer archivos de configuración; y quiero agregar pruebas para esto. Hasta ahora, esto me ha llevado a crear muchos archivos de configuración válidos y no válidos, cada uno con solo unas pocas líneas que prueban una funcionalidad específica. Pero ahora es muy difícil de manejar, ya que hay muchos archivos y también muchas pequeñas aplicaciones de prueba de C++. De alguna manera, esto me parece incorrecto :-), ¿tienes alguna pista sobre cómo organizar todas estas pruebas, las aplicaciones de prueba y los datos de prueba?¿Cómo organizar las aplicaciones de prueba C++ y los archivos relacionados?
Nota: la API pública de la biblioteca no es fácilmente comprobable (requiere un archivo de configuración como parámetro). Los métodos jugosos y propensos a errores para leer e interpretar los valores de configuración son privados, ¿por lo que no veo una forma de probarlos directamente?
Entonces: ¿te quedarías con las pruebas contra archivos reales; y si es así, ¿cómo organizarías todos estos archivos y aplicaciones para que puedan ser mantenidos?