Run tests for a specific module in Magento2
Magento 2 use phpunit framework for running test. You can run test per type and module with command:
{phpunit_executable} -c {Magentoroot}/dev/test/{type}/phpunit.xml[.dist] path/to/module/test/dir
For example:
to run unit test for Catalog, you need run command
vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/Magento/Catalog/Test/Unit/
to run integration test for Catalog, you need run
vendor/phpunit/phpunit/phpunit -c dev/tests/integration/phpunit.xml.dist dev/tests/integration/testsuite/Magento/Catalog
Currently only unit test moved to modules. Also static and integration integrity test is working with all magento code.
kandy's answer seams like the way to go, but in the mean time I found a quick and dirty way to do it.
Copy dev/tests/unit/phpunit.xml.dist
to dev/tests/unit/phpunit.xml
and replace
<directory suffix="Test.php">../../../app/code/*/*/Test/Unit</directory>
with
<directory suffix="Test.php">../../../app/code/[Namespace]/[Module]/Test/Unit</directory>
and comment out the other directory
tags inside the <testsuite>
tag.
When you are done, revert your changes or remove phpunit.xml
.
just to add that by using Phpstorm IDE you can define Test configuration for your module and run it separately. Running Tests in PhpStorm