RAILS_ENV が指定されている場合 rails test コマンドと rails test:system コマンドの挙動が違う。 おそらくそれぞれ rails command として実装されているか、rake タスクとして実装されているかによる違い。 rails test で実行 → RAILS_ENV が test に上書きされて実行される rails test:system で実行 → RAILS_ENV に指定された環境で実行される rails test:db も同様 docker-compose.yml で RAILS_ENV=development としていたコンテナでシステムテストを実行して気づいた。 今はテスト実行のコマンドを rails test test/* とすることで回避している。 (ちなみに rails test がシステムテストを実行しないのは rails