unittest run assert_equal python nose

python - run - Ejecutar todas las pruebas en el directorio usando la nariz



run nosetests (2)

De Python Testing: Guía para principiantes por Daniel Arbuckle:

Nariz busca pruebas en directorios y módulos cuyos nombres comienzan con test y Test , o contienen un ''_'' , ''.'' , o ''- '' seguido de test o Test . Ese es el defecto, pero en realidad no es toda la historia.

Una introducción extendida al marco de pruebas de unidad de nose muestra que puede ver una salida detallada del algoritmo de descubrimiento de prueba de nose ejecutando:

nosetests -vv --collect-only

Cuando ejecuté lo anterior en un directorio, noté que Nose omite archivos ejecutables. Si ese es tu problema, deberás cambiar el modo de archivo a no ejecutable. En Mac OS X o Linux, esto se puede lograr con:

chmod 644 file.py

o similar.

Si sabe que sus módulos / archivos son seguros para la importación, entonces puede ejecutar Nose con la opción --exe para "buscar pruebas en módulos de python que sean ejecutables" (de `man nosetests):

nosetests --exe

Necesito poder ejecutar todas las pruebas en el directorio actual escribiendo una línea en el shell de Linux. En algunos directorios, esto funciona bien. Pero en otros, cuando escribo "nosetests" no se ejecutan pruebas. Las pruebas se ejecutarán si las llamo individualmente pero las necesito para que todas se ejecuten automáticamente. Aquí está uno de los directorios que no funcionará:

/extwebserver __init__.py test_Detection.py test_Filesystem.py test_Hardware.py ...

Cuando ejecuto "nosetests" en el directorio principal, se ejecutan todas las pruebas en un subdirectorio determinado, pero no se ejecutan pruebas desde / extwebserver u otros subdirectorios o el propio directorio principal.

EDITAR Aquí está la salida:

matthew@Matthew-Laptop:~/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing$ nosetests -vv --collect-only nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/baseTestCase.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/run.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Detection.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Filesystem.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Hardware.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Mode.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_System.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_View.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Webserver.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/mocks/bottle.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/utils/test_timestamps.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testCamera.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testCameraManager.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testMainControllerServer.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testMode.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testPASEServerClient.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testView.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testViewsManager.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/test_commission/test_FSM.py is executable; skipped nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/test_commission/test_Webserver.py is executable; skipped test_add (testing.utils.test_config.test_config) ... ok test_add_set (testing.utils.test_config.test_config) ... ok test_load (testing.utils.test_config.test_config) ... ok test_load_valid (testing.utils.test_config.test_config) ... ok test_modify_set (testing.utils.test_config.test_config) ... ok test_save (testing.utils.test_config.test_config) ... ok test_update (testing.utils.test_config.test_config) ... ok test_get_full_version (testing.utils.test_controller.test_controller) ... ok test_get_hwaddr (testing.utils.test_controller.test_controller) ... ok test_get_ip (testing.utils.test_controller.test_controller) ... ok test_get_netmask (testing.utils.test_controller.test_controller) ... ok test_get_version (testing.utils.test_controller.test_controller) ... ok test_FloatEncoder (testing.utils.test_fileio.test_fileio) ... ok test_read_file (testing.utils.test_fileio.test_fileio) ... ok test_read_json_string (testing.utils.test_fileio.test_fileio) ... ok test_system_to_text (testing.utils.test_fileio.test_fileio) ... ok test_write_file (testing.utils.test_fileio.test_fileio) ... ok test_get_hwaddr (testing.utils.test_netdev.test_netdev) ... ok test_get_ip (testing.utils.test_netdev.test_netdev) ... ok test_get_netmask (testing.utils.test_netdev.test_netdev) ... ok test_set_datetime (testing.utils.test_syncdatetime.test_syncdatetime) ... ok test_cast (testing.utils.test_tools.test_tools) ... ok test_get_image (testing.testdetection.test_CameraGuardian.test_CameraGuardian) ... ok ---------------------------------------------------------------------- Ran 23 tests in 0.003s


Puede usar --exe en la línea de comandos para forzar a la nariz a considerar los archivos ejecutables como pruebas válidas. Si te cansas de --exe cada vez, puedes poner la línea:

exe = Verdadero

en un archivo .noserc (para unix / linux) o nose.cfg (para windows) en su directorio de inicio.