Manual
PHP Manual

Ejecutando los Test del Driver

El paquete PECL no incluyen los test, pero están disponible es » Github. Hay dos tipos de test: Los test de PHP y los test en C.

TEst PHPUnit

Para ejecutarlos, debe descargar el driver de Github (los test se encuentran en el directorio tests/). También necesitará » PHPUnit para ejecutar los test. PHPUnit también se puede instalar mediante PEAR (hay un par de prerrequisitos que podrá consultar en las instrucciones de instalación).

Algunos test esperarán que se produzcan alertas y errores, por lo que se debe asignar error_reporting en php.ini a E_STRICT | E_ALL para que pasen estos test. En caso contrario, se obtendrán errores que indicaran que el test esperaba que se emitiera una alerta o error.

Para ejecutarlos, asegúrese de que el servidor de MongoDB se está ejecutando en local en el puerto 27017. Antes de notificar de un error, por favor, asegúrese de que ha ejecutado los test contra la última versión de desarrollo de MongoDB: a veces hay errores para funcionalidades que ya no se encuentran en la versión estable.

La suite de pruebas usa la base de datos "phpunite". En caso de que utilice en su aplicación una base de datos llamada "phpunit", asegúrese de indicar a MongoDB un nuevo directorio de datos antes de ejecutar los test.

Asegúrese de que se encuentra en el directorio principal del código fuente del driver que descargó de Github. Ejecute:


$ phpunit tests/MongoSuite.php

Tests C

Los test en C comprueban sobre todo funciones internas que no están expuertas a PHP. Si deseara ejecutar estos test, deberá compilar PHP con la bandera --enable-embed. Después, acceda al directorio tests y ejecute make. Se creará un binario llamado unit. Llame a unit para ejecutar los test. Estos test no necesitan ninguna base de datos para funcionar.

Cuando se pase un test, se imprimirá un ".". Si un test falla, se informará y se dentrán las pruebas. Por favor, notifique cualquier error.

Si make no pudiera localizar su biblioteca empotrada PHP (libphp5.so) o los ficheros de cabeceras, deberá especificar un valor en la variable PHP_PATH.

Ejecute make clean todos los objetos usados para los tests.

Si ejecuta estos test con valgrind, no debería obtener ningún error de acceso no válido a memoria, ni tampoco el mensaje de "no leaks are possible" que se muestra al final.

Notificando Errores

Por favor, notifique cualquier fallo o error en el » bugtracker. Podría haber test que se omitan. Esto es normal, por lo que puede ignorarlo.

¡Los nuevos test siempre son bienvenidos! Por favor, no dude en contribuir con nuevos test de cualquier tipo que pongan a prueba cualquier funcionalidad.


Manual
PHP Manual