以下のアプリケーションを開発をおこなう環境へインストールします。
アプリケーション名 | バージョン(指定がある場合のみ、記載する) | インストール条件 |
---|---|---|
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 start
Web サーバーを起動したまま、以下 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.rb
50 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 を自動操縦してテストする様子を、画面に表示することができます。