Ejecutar las pruebas de uso de Magento php bin/magento dev:tests:run
lleva mucho tiempo.
¿Hay alguna manera de ejecutar las pruebas solo para un módulo específico?
Soy un novato en pruebas (de unidades), así que ten piedad.
fuente
Ejecutar las pruebas de uso de Magento php bin/magento dev:tests:run
lleva mucho tiempo.
¿Hay alguna manera de ejecutar las pruebas solo para un módulo específico?
Soy un novato en pruebas (de unidades), así que ten piedad.
Magento 2 usa el marco phpunit para ejecutar la prueba. Puede ejecutar la prueba por tipo y módulo con el comando:
{phpunit_executable} -c {Magentoroot}/dev/test/{type}/phpunit.xml[.dist] path/to/module/test/dir
Por ejemplo:
para ejecutar la prueba unitaria para el catálogo , necesita ejecutar el comando
vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/Magento/Catalog/Test/Unit/
para ejecutar la prueba de integración para el catálogo , debe ejecutar
vendor/phpunit/phpunit/phpunit -c dev/tests/integration/phpunit.xml.dist dev/tests/integration/testsuite/Magento/Catalog
Actualmente, solo la prueba unitaria se ha movido a los módulos La prueba de integridad estática y de integración también funciona con todos los códigos de magento.
php vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist vendor/magento/module-catalog/
La respuesta de kandy parece ser el camino a seguir, pero mientras tanto encontré una manera rápida y sucia de hacerlo.
Copiar dev/tests/unit/phpunit.xml.dist
a dev/tests/unit/phpunit.xml
y reemplazar
<directory suffix="Test.php">../../../app/code/*/*/Test/Unit</directory>
con
<directory suffix="Test.php">../../../app/code/[Namespace]/[Module]/Test/Unit</directory>
y comentar las otras directory
etiquetas dentro de la <testsuite>
etiqueta.
Cuando haya terminado, revierta sus cambios o elimínelos phpunit.xml
.
vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/Magento/Catalog/Test/Unit/
php vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist vendor/magento/module-catalog/
Los códigos centrales de Magento se mueven a la ruta del proveedor / magento.
phpunit.xml
archivo y coloque la ruta al módulo que desea probar.
solo para agregar que al usar Phpstorm IDE puede definir la configuración de prueba para su módulo y ejecutarla por separado. Ejecución de pruebas en PhpStorm
all, unit, integration, integration-all, static, static-all, integrity, legacy, default
. Y algunas opciones generales como-h, -q, ...
esa están disponibles para todos los comandos. Así que nada especial sobre ellos