Search by tag: phpunit

2 articles

How to automatically run PHPUnit tests with Laravel and Homestead

During my previous developments, I used to run a custom script with grunt-contrib-watch that reran my PHPUnit tests each time I saved a PHP file. However Laravel comes with Laravel Mix.

Laravel Mix logo

It is a useful tool, but it lacks (and will always lack) PHPUnit support. So I had to look for another solution and the savior was phpunit-watcher. Install, run and... code. That's it! It comes with useful features and customizations that you can tailor to your needs.

I ran these commands in my Homestead box:

$ composer global require spatie/phpunit-watcher

$ phpunit-watcher watch

phpunit-watcher in action

First time using Laravel Dusk? Here are a few errors and blunders and how to fix them

Fiddling with Laravel Dusk for the first time, I had to install the package:

$ composer require --dev laravel/dusk

Error: Your requirements could not be resolved to an installable set of packages.

I was still using Laravel 5.6 but the current dusk package was in version 5 which needed Laravel 5.7+. I checked Packagist and got a previous version. In my case it was:

$ composer require --dev laravel/dusk:4.0.5

Great, now I can start writing awesome tests! Oops, not so fast!

PHP Fatal error:  Class 'Tests\DuskTestCase' not found

Because I RTFM too fast and skipped:

$ php artisan dusk:install                                                               
Dusk scaffolding installed successfully.

Keep calm and RTFM

Great, now I can really start writing awesome tests!

...

Facebook\WebDriver\Exception\SessionNotCreatedException: session not created: Chrome version must be between 70 and 73   
  (Driver info: chromedriver=2.45.615279 (12b89733300bd268cff3b78fc76cb8f3a7cc44e5),platform=Linux 4.4.0-101-generic x86_6
4)

So maybe...

$ sudo apt-get update
$ sudo apt-get install chromium-browser
[…]
404  Not Found [IP: ...]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/chromium-browser...

In that case, update Homestead first. Exit the box, $ vagrant box update and finally install chromium.

$ php artisan dusk

Dusk - PHPUnit failures

YES! Never been so happy to see some good old failures!