-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!