Env:
PHP 7.0.27-1+ubuntu16.04.1+Clear Magento 2.2.2 with sample data (downloaded in archive)
I have created new test module that very simple with unit test for one class.
When I run
php bin/magento dev:tests:run unit
Everything ok, tests are running (including mine)
But when I try to run only my tests using :
php ./vendor/bin/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/VendorName/ModuleName/Test/Unit
it returns the following message:
You need to set up the project dependencies using Composer:
composer install
You can learn all about Composer on https://getcomposer.org/.
I run composer install
:
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Package sjparkinson/static-review is abandoned, you should avoid using it. Use phpro/grumphp instead.
Generating autoload files
If I try to run:
php ./vendor/phpunit/phpunit/phpunit --filter MyTestingClassTest
It returns:
PHPUnit 6.2.4 by Sebastian Bergmann and contributors.
Usage: phpunit [options] UnitTest [UnitTest.php]
phpunit [options]Code Coverage Options:
–coverage-clover Generate code coverage report in Clover XML format.
–coverage-crap4j Generate code coverage report in Crap4J XML format.
…
Logging Options:
–log-junit Log test execution in JUnit XML format to file.
…
Test Selection Options:
–filter Filter which tests to run.
–testsuite Filter which testsuite to run.
–group … Only runs tests from the specified group(s).
…
And so on.
So does anybody faced with this issue?
I'm not new Magento2 but new in unit testing so I can miss something primary.
Thanks in advance.
UPDATE:
PHPUNIT doesn't installed globally, I tried all steps above on another magento instalation v2.2.1 and I have the same issue.
Best Answer
./vendor/bin/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/VendorName/ModuleName/Test/Unit
Try Below Command instead of yours
./vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/VendorName/ModuleName/Test/Unit
You need to set up the project dependencies using Composer:
composer install
You can learn all about Composer on https://getcomposer.org/.
This error occur because phpunit is not symlink with actual path so first you need to create symlink using below command
ln -s ./vendor/phpunit/phpunit/phpunit ./vendor/bin/phpunit
or if you are facing issue in symlink so you can run unit test by below command as well.
./vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist vendor/magento/module-catalog/Test/Unit/Block