Recherche par étiquette : php
4 articles
Mon curriculum vitæ
Intéressé ? Veuillez me contacter pour recevoir la version non-censurée.
Comment exécuter des tests PHPUnit automatiquement avec Laravel et Homestead
Lors de mes développements précédents, j'avais l'habitude d'utiliser un script personnalisé avec grunt-contrib-watch qui relançait mes tests PHPUnit à chaque fois que j'enregistrais un fichier PHP. Cependant Laravel vient avec Laravel Mix.

C'est un outil utile, mais qui ne supporte pas (et ne supportera jamais) PHPUnit. J'ai donc dû chercher une autre solution et le sauveur est phpunit-watcher. Installez, exécutez et... codez. C'est tout ! Des fonctionnalités et personnalisations sont disponibles pour s'adapter à vos besoins.
J'ai exécuté ces commandes dans ma machine Homestead :
$ composer global require spatie/phpunit-watcher
$ phpunit-watcher watch
Première utilisation de Laravel Dusk? Voici quelques erreurs et gaffes et leur solution
Manipulant pour la première fois Laravel Dusk, il me fallait tout d'abord installer son paquet :
$ composer require --dev laravel/dusk
J'utilisais toujours Laravel 5.6 mais la version actuelle de dusk est en version 5, qui requiert Laravel 5.7+. J'ai été voir sur Packagist après une version antérieure. Dans mon cas, c'était :
$ composer require --dev laravel/dusk:4.0.5
Chouette, maintenant je peux commencer à rédiger de fantastiques tests ! Heu... Non, pas si vite !
PHP Fatal error: Class 'Tests\DuskTestCase' not found
Parce que j'ai RTFM trop vite et homis :
$ php artisan dusk:install
Dusk scaffolding installed successfully.
Chouette, maintenant je peux vraiment commencer à rédiger de fantastiques 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)
Alors peut-être…
$ 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...
Dans ce cas, mettez d'abord Homestead à jour. Quittez la machine virtuelle, exécutez $ vagrant box update et enfin installez chromium.
$ php artisan dusk
OUI ! Jamais été aussi content de voir de bons vieux échecs de tests PHPUnit !
Comment créer des liens symboliques via FTP
Révélation: on ne peut pas !
Afin de pouvoir utiliser le File Storage de Laravel, il me fallait créer un lien symbolique dans le dossier public, pointant vers un sous-dossier situé dans le dossier storage. Une opération simple et rapide lorsque vous bénéficiez d'un accès ssh vers votre serveur de production. Mais c'est une toute autre histoire quand vous n'avez qu'un accès FTP !
La solution était donc de laisser PHP se charger du travail pour moi, en utilisant la commode fonction symlink :
if (!file_exists('./storage')) {
symlink("../storage/app/public", "./storage");
}



