El producto actual en el que trabajo es un servicio de Windows escrito en C++ y en adelante todas las nuevas funcionalidades tendrán pruebas de unidad escritas para él. Pero esto crea un problema interesante (al menos para mí). Hacemos muchas llamadas a Win32 para varias cosas y nos comportamos en consecuencia, por lo tanto, para que las pruebas de la unidad estén completas, sería bueno probar una variedad de resultados, no solo el sistema actual. estado.Llamadas de API de Mocking y Win32
Mi pregunta es ¿cuál es la mejor manera de burlarse de los resultados de las llamadas de Win32? He pensado en dos métodos diferentes:
1) Poner todas las llamadas Win32 utilizadas en los punteros de función y pasarlas a las funciones o clases (dependiendo de cuántas veces se golpean) que las usen y usar esto para obtener simulacro resultados.
2) Tengo un montón de #ifdef UNITTEST
en todas partes y si está llamando a mis propios métodos especiales o los llaman a los normales si no es así.
¿Estoy completamente fuera de base aquí, o me falta algo fundamental de conocimiento?
¿Y si necesita argumentos con el fin de modificar el comportamiento de UnitTestMessageBox? #ifdef UNITTEST #undef MessageBox #define MessageBox UnitTestMessageBox #endif – Manolete