Testes no Laravel retornando erro 404 mesmo em rotas existentes
Olá, pessoal! Tudo bem? Recentemente estava fazendo alguns testes dentro da minha aplicação Laravel, na versão 10, e me deparei com um caso curioso: Apenas 1 test para a rota funciona, e o restante retorna 404.
namespace Tests\Feature\Contact;
use Illuminate\Foundation\Testing\WithFaker;
use Tests\TestCase;
class CreateContactTest extends TestCase
{
use WithFaker;
protected string $path = '/api/contact';
public function test_it_should_create_a_contact(): void
{
$response = $this->postJson($this->path, [
'email'=> $this->faker->email(),
'name' => $this->faker->name(),
'phone'=> $this->faker->phoneNumber(),
'subject' => $this->faker->realText(100),
'message' => $this->faker->realText(250),
]);
$response->assertNoContent();
}
public function test_it_should_return_422_when_providing_wrong_data(): void
{
$response = $this->postJson($this->path);
$response->assertUnprocessable();
}
}
Esse é um teste simples, que testados sozinhos, funionam, mas quando é testado toda a classe, ai o erro já acontece.
Olha o log no terminal:
> php artisan test --filter CreateContactTest
FAIL Tests\Feature\Contact\CreateContactTest
✓ it should create a contact 0.44s
⨯ it should return 422 when providing wrong data 0.05s
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
FAILED Tests\Feature\Contact\CreateContactTest > it should return 422 when providing wrong data
Expected response status code [422] but received 404.
Failed asserting that 422 is identical to 404.
at tests\Feature\Contact\CreateContactTest.php:31
27▕ public function test_it_should_return_422_when_providing_wrong_data(): void
28▕ {
29▕ $response = $this->postJson($this->path);
30▕
➜ 31▕ $response->assertUnprocessable();
32▕ }
33▕ }
34▕
Tests: 1 failed, 1 passed (3 assertions)
Duration: 0.81s
Alguém poderia me ajudar a entender o que está acontecendo?