環境
laravel 6.20.37
phpuit 8.5.21
エラー内容
Caused by
PDOException: SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "users" does not exist
LINE 1: insert into "users" ("name", "email", "email_verified_at", "...
^
原因
DatabaseTransactionsを使用していたことが原因のようでした。
AnswerControllerTest.php
use DatabaseTransactions;
RefreshDatabaseを使用することでエラーがなくなりました。
AnswerControllerTest.php
use Illuminate\Foundation\Testing\RefreshDatabase;
use RefreshDatabase;
RefreshDatabaseは各テストの後にデータベースをリセットできるので前のテストがその後のテストデータに影響しないのに対し、DatabaseTransactionsは各テストケースをデータベーストランザクションでラップしてデータベースをリセットするという違いがあるようです。