-DBUILD_TESTING=1 en tu comando cmake.Por ejemplo:
cd azerothcore
mkdir build
cd build
cmake ../ -DWITH_WARNINGS=1 -DTOOLS=0 -DSCRIPTS=static -DBUILD_TESTING=1
make install -j 6
./build/src/test/unit_tests
En AzerothCore usamos googletest como nuestro framework de testing. Algunas referencias útiles que explican cómo funciona están disponibles en:
Puedes encontrar muchas otras referencias online que explican cómo trabajar con googletest o el unit testing en general. Si conoces algún otro recurso útil, siéntete libre de editar esta página y añadirlo.
Recomendamos leer la documentación de googletest antes de empezar a escribir unit tests.
Los unit tests están ubicados en src/test. Para añadir nuevos tests, simplemente edita los archivos existentes o crea nuevos.
Intentamos seguir la misma estructura del directorio src/*; por ejemplo, para testear el archivo ubicado en:
src/server/game/Miscellaneous/Formulas.h
Mantenemos su test en:
src/test/server/game/Miscellaneous/FormulasTest.cpp
Tenemos algo de código heredado en AzerothCore que está fuertemente acoplado y hay singletons que son imposibles de mockear sin cierta refactorización.
Siguiendo las directrices de gmock, para mockear una clase primero deberías definir su interfaz. Luego puedes crear mocks y usarlos al hacer unit testing.
Hay ejemplos disponibles de refactorización de singletons de AzerothCore para hacerlos mockeables (y mejorar la arquitectura del software en general):
También puedes ejecutar los tests directamente en IDEs como CLion
CLion te permite ejecutar fácilmente los tests con debug y con cobertura:

luego muestra qué líneas del código están cubiertas por los tests (líneas verdes) y cuáles siguen sin cubrir (líneas rojas):

¡Feliz testing!