以下のアプリケーションを開発をおこなう環境へインストールします。
| アプリケーション名 | バージョン(指定がある場合のみ、記載する) | インストール条件 |
|---|---|---|
| Ruby | 3.0.0 以上 | $PATHを通しておきます |
| Google Chrome | ||
| ChromeDriver | Google Chrome とバージョンを揃える | $PATHを通しておきます |
ChromeDriver の$PATHを通すとは、例えば macos の場合
- https://chromedriver.chromium.org/ から ダウンロードした zip ファイルをダブルクリックで zip 解凍して /usr/local/bin に Finder でコピーする
-
curl -O https://chromedriver.storage.googleapis.com/バージョン番号/chromedriver_mac64.zip unzip chromedriver_mac64.zip mv chromedriver /usr/local/bin/ # を実行する - Homebrew を使っているならば、
brew install --cask chromedriverを実行する。 - 自分の好きなディレクトリに chromedriver をコピーして、.zshrc や .bashrc で $PATH に追加する
などいろんな方法があります。
macos の Gatekeeper で chromedriver の起動が妨げられる場合は
xattr -d com.apple.quarantine /usr/local/bin/chromedriverを実行する必要があるかもしれません。
コマンドの実行は、WorkingCopy のルートディレクトリでおこないます。
依存関係を構築する
$ bundle install$ yarn run generate:deploy$ yarn startWeb サーバーを起動したまま、以下 3. のテストの実行をします。
# 全部のテストを一つずつ実行
$ bundle exec rspec spec# 全部のテストを並列に実行 (parallel_rspec)
$ bundle exec parallel_rspec spec# 特定のファイルだけ一つ実行
$ bundle exec rspec spec/feature/index_h1_spec.rb# マッチするファイルを並列実行 (parallel_rspec)
$ bundle exec parallel_rspec spec/feature/*h3_spec.rb50 examples, 0 failures
のような出力(GREEN)になります。
48 examples, 2 failures
のような出力(RED)になります。
テストが失敗した場合はspec/screenshotにスクリーンショット画像が PNG で保存されます。
- static に generate した production コード(2-2, 2-3)ではなく、
yarn devの development サーバーに対してもテストできますが、 Hot Module Replacement が効いて、テスト結果が安定しない場合があります。 spec/spec_helper.rbのoptions.add_argument('--headless')行をコメントアウトして「3.テストの実行」をすると、 Chrome を自動操縦してテストする様子を、画面に表示することができます。