こんにちは、Nanayakuです。
docker環境でcircleCIを使用してherokuにデプロイする時、RSpecのSystem specでエラーが起きたので、その対処法を紹介します。
目次
エラーの原因
エラーの原因は、ChromeがないためView(System spec)が起動できないことでした。
これを解決する方法は、下記の2つあります。
【Docker入門】Dockerとは?基礎の基礎をわかりやすく紹介 | SPIN OFF(スピンオフ)
Chromeのインストール
Web(Ruby、PHPなど)コンテナにChromeをインストールする方法です。
Headless ChromeをDocker上で動かして、E2Eのテスト - Qiita
RailsのSystemTest(headless chrome)をDocker上で動かす - Qiita
Chromeのコンテナを追加
Chromeのコンテナを用意し、「docker-compose.yml」で連携させる方法です。
Docker上のRailsアプリにテスト環境(RSpec)を構築 - Qiita
Rails on Dockerにて、Headless ChromeでSystem Testをやってみた。 - Qiita
Docker で RSpec の System Spec を実行するための設定メモ - Qiita
まとめ
Docker環境でSystem specを続行するための方法は、Chromeをインストールする方法とChromeのコンテナを追加する方法があります。