Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Pruebas

Las pruebas para el driver C++11 utilizan Catch, un marco de pruebas para C++.

Cada clase en el controlador tiene un archivo correspondiente en src/mongocxx/testDado que el nuevo controlador encapsula libmongoc, preferimos simular y probar el comportamiento de clases individuales en lugar de probar el comportamiento integral de las operaciones con mongod en ejecución. En otras palabras, se trata de pruebas unitarias, no de pruebas de integración.

También tenemos pruebas de integración para este controlador en test/collection.cpp.

Compile las pruebas con:

make

Esto generará binarios de prueba. Puedes ejecutar todas las pruebas con:

make test

o, para una salida más detallada con Catch, ejecuta el binario generado:

./build/src/mongocxx/test/test_driver

o puede ejecutar el comando ctest y hacer uso de las distintas banderas de ctest. Por ejemplo:

ctest -V

puede utilizarse para ejecutar las pruebas con una salida detallada, o

ctest -R bson

podría usarse para ejecutar solo las pruebas bson.

Algunas pruebas requieren una instancia de Mongod en ejecución. Para ello, primero descargue el servidor MongoDB.

A continuación, implemente un mongod en el puerto por defecto con el comando:

mongod --setParameter enableTestCommands=1

si está instalado. De lo contrario, navegue hasta el directorio que contiene el ejecutable mongod y ejecute:

./mongod --setParameter enableTestCommands=1

siguiendo cualquier comando con los flags que quieras usar, excluyendo --port. Mientras que mongod esté en funcionamiento, ejecuta las pruebas de la forma habitual.

Si desea agregar una funcionalidad al driver, también escriba una prueba para ella. Las adiciones a las clases existentes deben tener secciones nuevas agregadas a los casos de prueba existentes:

TEST_CASE("existing_class", "[existing_class]") {
SECTION("Can do some new thing") {
...
REQUIRE(new_thing_works);
}
}

Si vas a añadir una nueva clase, por favor añade un nuevo archivo de prueba para ella en el directorio test. El nombre del archivo de prueba debe coincidir con el nombre del archivo de la nueva clase. Necesitarás agregar tu archivo como origen para el objetivo de prueba del controlador, en src/mongocxx/test/CMakeLists.txt:

set(mongocxx_test_sources
...
some_new_class.cpp
...
)

Volver

Actualizar

En esta página