Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dois bancos de dados para testes

Professor, é possível usar um banco para localhost e outro para os testes?

Minha ideia é criar um banco de dados para testar as features e outro banco para os testes. No caso ia ter esse conteúdo no meu .env

DB_CONNECTION=mysql
 DB_HOST=mysql 
 DB_PORT=3306
 DB_DATABASE=scheduler
 DB_USERNAME=root
 DB_PASSWORD=secret

(Neste caso estou usando o docker no meu ambiente local, por isso no host está como uma string e nao um ip)

E no meu .env.testing

DB_CONNECTION=mysql
DB_HOST=mysql_test
DB_PORT=3306
DB_DATABASE=scheduler_test
DB_USERNAME=root
DB_PASSWORD=secret

O problema é que quando vou rodar meus testes, o meu banco descrito no .env.testing ainda não existe, e nem foi criado as migrations...

Tentei outra solução, usando o mesmo banco utilizado no .env, usando a Trait do RefreshDatabase mas sempre que rodava o comando meu banco era apagado..

É possivel rodar um php artisan migrate --seed antes de executar meus testes?

2 respostas
solução

Fala, Bruno. Blz?

Você pode rodar php artisan migrate --seed --env=testing

Isso vai rodar o comando no seu banco de testes. Depois, você roda seus testes.

Isso já resolve seu problema?

Boa! Funcionou sim! Valeu!!