0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RSpec_Gem調査メモ

Last updated at Posted at 2020-03-01

開発環境

  • Ruby 2.5.3
  • Rails 5.2.2

spec-rails

rspec-rails デフォルトのテストフレームワークであるMinitestのドロップイン代替として、RSpecテストフレームワークをRuby on Railsにもたらします。

RSpecでは、テストはアプリケーションコードを検証する単なるスクリプトではありません。また、仕様(または*仕様、*略して)です。アプリケーションがどのように動作するかについての詳細な説明を、わかりやすい英語で表現します。

公式ドキュメント

rspec-rails APIドキュメント

group :test, :development do
  gem 'rspec-rails', '~> 3.8'
end

factory_bot_rails

テストデータの作成

factory_bot_rails APIドキュメント

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シナリオが失敗したときにスクリーンショットを自動的に保存する

capybara-screenshot APIドキュメント

group :test do
  gem 'capybara-screenshot'
end

launchy

A helper for launching cross-platform applications in a fire and forget manner

Rubyで外部アプリケーションを起動できる(現在、ブラウザの起動のみがサポートされています。)

launchy APIドキュメント

group :test do
  gem 'launchy'
end

selenium-webdriver(記述済)

ブラウザー自動化フレームワークとエコシステム

selenium-webdriver APIドキュメント

group :test do
  gem 'selenium-webdriver'
end

webdrivers(記述済)

サポートされているすべてのWebドライバーのインストールと更新により、Seleniumテストをより簡単に実行できます。

gem 'chromedriver-helper'のサポートが終了し、その後継として作成された

webdrivers APIドキュメント

group :test do
  gem 'webdrivers', , '~> 4.0'
end

rubocop-rspec

RSpecファイルのコードスタイルチェック。RuboCopコードスタイルの強制およびリンティングツールのプラグイン。

rubocop-rspec APIドキュメント

group :development, :test do
  gem 'rubocop-rspec', require: false
end

database_cleaner

データベースをクリーニングするための戦略。テストのためにクリーンな状態を確保するために使用できます。

テスト後に作成されたデータを削除する

Database Cleaner APIドキュメント

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は、レポートを生成するときに結果をキャッシュおよびマージして自動的に処理します。これにより、空白のスポットのより良い全体像が得られます。

simplecov APIドキュメント

group :test, :development do
  gem 'simplecov', require: false
end

teaspoon-jasmine

RailsのJavascriptテストランナー。Selenium、BrowserStack、またはPhantomJSを使用します。

teaspoon-jasmine APIドキュメント

group :development, :test do
  gem "teaspoon-jasmine"
end

guard-rspec

ファイル監視して変更されたときに仕様を自動的かつインテリジェントに起動できます。

guard-rspec APIドキュメント

group :development, :test do
  gem 'guard-rspec', require: false
end

Faker

名前、住所、電話番号などの偽データを生成するためのライブラリ。

faker APIドキュメント

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は、テストを(行数またはランタイムごとに)偶数のグループに分割し、各グループを独自のデータベースを使用して単一プロセスで実行します。

parallel_tests APIドキュメント

group :test, :development do
  gem 'parallel_tests'
end

Shoulda Matchers

Shoulda Matchersは、RSpecおよびMinitest互換のワンライナーを提供して、手作業で記述した場合、はるかに長く、複雑で、エラーが発生しやすい一般的なRails機能をテストします。

shoulda-matchers APIドキュメント

group :test do
  gem 'shoulda-matchers'
end

rspec-sidekiq

マッチャーとヘルパーのコレクションを介したSidekiqジョブの簡単なテスト

rspec-sidekiq APIドキュメント

group :test do
  gem 'rspec-sidekiq'
end

timecop

「タイムトラベル」および「タイムフリーズ」機能を提供するgem。時間依存コードのテストが非常に簡単です。Time.now、Date.today、DateTime.nowを1回の呼び出しでモックする統一されたメソッドを提供します。

timecop APIドキュメント

group :test do
  gem "timecop"
end

test-prof

TestProfは、テストスイートのパフォーマンスを分析するためのさまざまなツールのコレクションです。

test-prof APIドキュメント

group :test do
  gem "test-prof"
end

rspec-retry

失敗したテストを再実行する

rspec-retry APIドキュメント

group :test do
  gem "rspec-retry"
end

pundit-matchers

Pundit認証ポリシーをテストするためのRSpecマッチャーのセット

pundit-matchers APIドキュメント

group :test do
  gem 'pundit-matchers', '~> 1.6.0'
end
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?