Desenvolvendo uma Agenda de Tarefas em Laravel e comparando com o PHP sem framework.
composer --prefer-dist create-project laravel/laravel <nome do projeto> "8.0"
composer require laravel/ui
"spatie/laravel-permission"
composer require maatwebsite/excel
composer require laravel/sail --dev
Sail é necessário para rodar o docker abaixo:
docker-compose up -d
Apresentação do Teste de Laravel
Liberei duas linhas no phpunit.xml para não sujar o MySQL. (ver Github) Coloquei a porta do Artisan Serve no .env em APP_URL.
Executar Artisan Cache para atualizar estas configurações.
php artisan config:cache
Criar um novo teste unitário:
php artisan make:test CustomerTest --unit
Para rodar os testes só executar:
vendor/bin/phpunit
Para executar somente um teste específico:
vendor/bin/phpunit --filter test_only_logged_in_users_can_see_this_routes
Para executar testes de navegadores é preciso instalar o Dusk:
composer require --dev laravel/dusk
php artisan dusk:install
php artisan dusk:chrome-drive 114
Caso seja necessário baixar uma versão específica (última 114).
Tive problemas com versão do chromedrive (2h30m para resolver).
Instalei o Dusk-updater (https://github.com/staudenmeir/dusk-updater)
composer require --dev staudenmeir/dusk-updater
php artisan dusk:chrome-drive
atualizei para versão 124 e resolvido para continuar.
php artisan dusk