Install PHPUNIT with Composer
Solution 1
When you install PHP-Unit in windows via composer, the global installation will create files in
C:\Users\YOUR_USERNAME\AppData\Roaming\Composer
To execute phpunit
easily via command line you need to add path of phpunit.bat
file in windows Environment Variables. For this:
- Right click
My Computer
- Go to
Properties -> Advance system settings
and- Click
Environment variables
from theAdvance
tab.
Now add C:\Users\YOUR_USERNAME\AppData\Roaming\Composer\vendor\bin
to the windows PATH
.
You can now run the phpunit from command. Note that you may need to restart your command prompt for the changes to take effect.
Solution 2
The bin file of packages are put in the configured bin directory. By default, this is vendor/bin
and when you use the symfony standard edition, this is the bin
folder.
To execute this bin file, run ./bin/phpunit
(or ./vendor/bin/phpunit
when not using the Symfony Standard Edition)
Windows users have to put this in double quotes: "bin/phpunit"
(or "vendor/bin/phpunit"
)
Solution 3
Easiest way to install phpunit via composer is to run from project root.
$ composer require phpunit/phpunit
What this would do is, it will create a phpunit folder inside vendor/bin and you can run unit tests like this..
$ ./vendor/bin/phpunit
Solution 4
composer require --dev phpunit/phpunit ^7
The above example assumes, composer is already on your $PATH variable.
You composer.json should look similar to;
{
"name": "vendor_name/package_name",
"description": "This project is for practicing writing php unit tests",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "Umair Anwar",
"email": "[email protected]"
}
],
"autoload": {
"classmap": [
"src/"
]
},
"require-dev": {
"phpunit/phpunit": "^7",
"phpunit/dbunit": "^4.0"
}
}
Solution 5
I remember futzing around with the composer dependency stuff for phpunit and never could get it to work.
Instead, from your git bash shell:
mkdir ~/bin
cd ~/bin
curl https://phar.phpunit.de/phpunit.phar > phpunit
chmod +x phpunit
exit out of bash and then start a new bash session.
And you should be good to go. You can echo $PATH to verify you have a path to ~/bin but one seems to added by default.
Admin
Updated on December 06, 2020Comments
-
Admin over 3 years
I have project on Symfony 2 and i would like use PHPUNIT on Windows 7.
On githut phpunit is: Composer Simply add a dependency on phpunit/phpunit to your project's composer.json file if you use Composer to manage the dependencies of your project. Here is a minimal example of a composer.json file that just defines a development-time dependency on PHPUnit 3.7: { "require-dev": { "phpunit/phpunit": "3.7.*" } } For a system-wide installation via Composer, you can run: composer global require 'phpunit/phpunit=3.7.*' Make sure you have ~/.composer/vendor/bin/ in your path.
First i use system-wide installation but i dont know when this installed. Next i add to my composer.json require-dev. This installed phpunit in C:/wamp/www/myproject/vendor/symfony. Next i try commands:
composer install --dev
And i can't use phpunit. In cmd.exe i enter "phpunit" and i have error:
'phpunit' is not recognized as an internal or external command operable program or batch file
How can i use phpunit? I have Windows 7, Wamp server and php 5.4.12.
-
Admin over 10 yearsI have phpunit in folder C:/wamp/www/myproject/vendor/phpunit. So i go to C:/wamp/www/myproject and put "vendor/phpunit" and i have error '"vendor/phpunit"' is not recognized as an internal or external command operable program or batch file
-
Wouter J over 10 yearsYes, but you need to execute a phpunit file, which is in vendor/bin or in bin
-
Robert over 9 yearsThanks! It helped me!
-
Aron about 8 yearsAlso if you are using the terminal via an IDE such as PhpStorm you will need to close and reopen it for the changes to take effect.