Skip to content

Latest commit

 

History

History
118 lines (79 loc) · 3.23 KB

FOR_DEVELOPERS_RSPEC.md

File metadata and controls

118 lines (79 loc) · 3.23 KB

開発者向け情報 (RSpecテストの実行)

1. 環境構築

以下のアプリケーションを開発をおこなう環境へインストールします。

アプリケーション名 バージョン(指定がある場合のみ、記載する) インストール条件
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 

を実行する必要があるかもしれません。


2. セットアップ

コマンドの実行は、WorkingCopyのルートディレクトリでおこないます。

2-1. 関連ライブラリのインストール

依存関係を構築する

$ bundle install

2-2. productionコードの生成

$ yarn run generate:deploy

2-3. ローカルWebサーバーを起動

$ yarn start

Webサーバーを起動したまま、以下 3. のテストの実行をします。


3. テストの実行

3-1. RSpecでテストを実行

# 全部のテストを一つずつ実行
$ 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

4. テストの成功と失敗

4-1. テストの成功

50 examples, 0 failures

のような出力(GREEN)になります。

4-2. テストの失敗

48 examples, 2 failures

のような出力(RED)になります。

テストが失敗した場合はspec/screenshotにスクリーンショット画像がPNGで保存されます。


TIPS

  • staticにgenerateしたproductionコード(2-2, 2-3)ではなく、yarn devのdevelopmentサーバーに対してもテストできますが、 Hot Module Replacementが効いて、テスト結果が安定しない場合があります。
  • spec/spec_helper.rboptions.add_argument('--headless')行をコメントアウトして「3.テストの実行」をすると、 Chromeを自動操縦してテストする様子を、画面に表示することができます。