O objetivo desta tarefa foi criar um teste automatizado para o comando Artisan de importação de veículos, garantindo que sua lógica de sincronização com o banco de dados funcione corretamente. Diferente de um teste de unidade puro, este teste de integração valida a interação do comando com o banco de dados e o sistema de arquivos.
Foi criada uma classe de teste (ImportVehiclesCommandTest.php
) no diretório tests/Unit/
. A trait RefreshDatabase
foi usada para garantir que o banco de dados seja limpo para cada execução de teste, assegurando um ambiente isolado.
O teste implementado valida dois cenários principais do comando import:vehicles
:
assertDatabaseHas
para confirmar que os dados foram inseridos corretamente no banco de dados.updateOrCreate
.Todos os testes foram executados com sucesso, conforme o resultado abaixo:
PS C:\\softwares\\api-automotiva> ./vendor/bin/phpunit --filter ImportVehiclesCommandTest
PHPUnit 11.5.34 by Sebastian Bergmann and contributors.
Runtime: PHP 8.3.16
Configuration: C:\\softwares\\api-automotiva\\phpunit.xml
. 1 / 1 (100%)
Time: 00:00.297, Memory: 36.00 MB
OK (1 test, 3 assertions)
PS C:\\softwares\\api-automotiva>
TEST:(T08) Add integration tests for import vehicles command.