開発環境
- Ruby 2.5.3
- Rails 5.2.2
spec-rails
rspec-rails
デフォルトのテストフレームワークであるMinitestのドロップイン代替として、RSpecテストフレームワークをRuby on Railsにもたらします。
RSpecでは、テストはアプリケーションコードを検証する単なるスクリプトではありません。また、仕様(または*仕様、*略して)です。アプリケーションがどのように動作するかについての詳細な説明を、わかりやすい英語で表現します。
group :test, :development do
gem 'rspec-rails', '~> 3.8'
end
factory_bot_rails
テストデータの作成
group :development, :test do
gem 'factory_bot_rails'
end
Capybara(記述済)
Webアプリケーションの受け入れテストフレームワーク
capybara ドキュメントcapybara APIドキュメント
group :test do
gem 'capybara', '>= 2.15'
end
capybara-screenshot
Capybaraシナリオが失敗したときにスクリーンショットを自動的に保存する
group :test do
gem 'capybara-screenshot'
end
launchy
A helper for launching cross-platform applications in a fire and forget manner
Rubyで外部アプリケーションを起動できる(現在、ブラウザの起動のみがサポートされています。)
group :test do
gem 'launchy'
end
selenium-webdriver(記述済)
ブラウザー自動化フレームワークとエコシステム
group :test do
gem 'selenium-webdriver'
end
webdrivers(記述済)
サポートされているすべてのWebドライバーのインストールと更新により、Seleniumテストをより簡単に実行できます。
gem 'chromedriver-helper'のサポートが終了し、その後継として作成された
group :test do
gem 'webdrivers', , '~> 4.0'
end
rubocop-rspec
RSpecファイルのコードスタイルチェック。RuboCopコードスタイルの強制およびリンティングツールのプラグイン。
group :development, :test do
gem 'rubocop-rspec', require: false
end
database_cleaner
データベースをクリーニングするための戦略。テストのためにクリーンな状態を確保するために使用できます。
テスト後に作成されたデータを削除する
group :test do
gem 'database_cleaner-active_record'
end
simplecov
SimpleCovは、Ruby用のコードカバレッジ分析ツールです。
Rubyのビルトインカバレッジライブラリを使用してコードカバレッジデータを収集しますが、クリーンなAPIを提供して結果をフィルター処理、グループ化、マージ、フォーマット、表示することにより、結果の処理をはるかに容易にします。わずか数行のコードでセットアップします。
SimpleCov / Coverageトラックはルビーコードをカバーしており、erb、slim、hamlなどの一般的なテンプレートソリューションのカバレッジの収集はサポートされていません。
SimpleCovの公式フォーマッターは、simplecov-htmlという別のgemとしてパッケージ化されていますが、SimpleCovを起動すると自動的にインストールおよび構成されます。興味があれば、GitHubでも見つけることができます。
ほとんどの場合、すべてのタイプのテスト、Cucumber機能などを含むプロジェクトの全体的なカバレッジ結果が必要になります。SimpleCovは、レポートを生成するときに結果をキャッシュおよびマージして自動的に処理します。これにより、空白のスポットのより良い全体像が得られます。
group :test, :development do
gem 'simplecov', require: false
end
teaspoon-jasmine
RailsのJavascriptテストランナー。Selenium、BrowserStack、またはPhantomJSを使用します。
group :development, :test do
gem "teaspoon-jasmine"
end
guard-rspec
ファイル監視して変更されたときに仕様を自動的かつインテリジェントに起動できます。
group :development, :test do
gem 'guard-rspec', require: false
end
Faker
名前、住所、電話番号などの偽データを生成するためのライブラリ。
group :test do
gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'master'
end
rails-controller-testing
このgemはassigns、コントローラーテストとassert_template コントローラーおよび統合テストの両方を再現します。
rails-controller-testing APIドキュメント
group :test do
gem 'rails-controller-testing'
end
parallel_tests
Speedup Test :: Unit + RSpec + Cucumber + Spinach(複数のCPUコアで並列実行)
ParallelTestsは、テストを(行数またはランタイムごとに)偶数のグループに分割し、各グループを独自のデータベースを使用して単一プロセスで実行します。
group :test, :development do
gem 'parallel_tests'
end
Shoulda Matchers
Shoulda Matchersは、RSpecおよびMinitest互換のワンライナーを提供して、手作業で記述した場合、はるかに長く、複雑で、エラーが発生しやすい一般的なRails機能をテストします。
group :test do
gem 'shoulda-matchers'
end
rspec-sidekiq
マッチャーとヘルパーのコレクションを介したSidekiqジョブの簡単なテスト
group :test do
gem 'rspec-sidekiq'
end
timecop
「タイムトラベル」および「タイムフリーズ」機能を提供するgem。時間依存コードのテストが非常に簡単です。Time.now、Date.today、DateTime.nowを1回の呼び出しでモックする統一されたメソッドを提供します。
group :test do
gem "timecop"
end
test-prof
TestProfは、テストスイートのパフォーマンスを分析するためのさまざまなツールのコレクションです。
group :test do
gem "test-prof"
end
rspec-retry
失敗したテストを再実行する
group :test do
gem "rspec-retry"
end
pundit-matchers
Pundit認証ポリシーをテストするためのRSpecマッチャーのセット
group :test do
gem 'pundit-matchers', '~> 1.6.0'
end