Posted at

RSpecコマンドのオプションまとめ

More than 1 year has passed since last update.


はじめに

RSpecコマンドのオプションを調べてみました。

本記事はrspec --helpの内容がベースです。


対象バージョン

RSpec 3.8


コマンドの使い方

$ rspec [オプション] [ファイル名かディレクトリ名] 


オプション

オプション
機能

-I パス

$LOAD_PATHに追加するパスを指定する(複数指定可)

-r, --require パス

コマンドライン上でrequireができる

-O, --options パス

カスタムオプションファイルのパスを指定する

--order タイプ[:シード値]
テストの実行順序を指定できる(省略時は[defined]
タイプ
[defined]定義された順序で実行
[rand]ランダムで実行
[random]ランダムと同じ
[random:シード値]ランダムを発生させる元となる値を指定
例)--order random:123

--seed シード値
--order rand:シード値」で実行した結果と同じ

--bisect[=verbose]
エラーを最小で再現できるケースに分離するためにテストを繰り返し実行する
=verbose」オプションをつけると詳細を表示する

--[no-]fail-fast[=カウント数]
テストが失敗した時点でテストを停止
--fail-fast=3」で3回目の失敗で停止
--no-fail-fast」で失敗してもテストを継続

--failure-exit-code コード
エラー時の終了コードを指定できる

-X, --[no-]drb

DRb経由でテストを実行する
(DRbは「distributed Ruby」の略)

--drb-port ポート番号
DRbサーバに接続するためのポート番号


出力

オプション
機能

-f, --format 形式

出力する形式を指定する(省略時はprogress
形式
[p]rogressひとつのテスト結果を1文字で表示
[d]ocumentationテスト名を表示
[h]tml
[j]son
カスタムフォーマットの場合はそのクラス名

-o, --out ファイル名

テスト結果を標準出力ではなく指定されたファイルに出力する
フォーマットが指定されていない場合は、
デフォルトのprogress形式で出力する

--deprecation-outファイル名
廃止予定についての警告をファイルに出力する

-b, --backtrace

全てのバックトレースを表示する

--force-color, --force-colour

出力先がTTYでない場合もカラーで出力する

--no-color, --no-colour

出力先がTTYであってもカラーで出力しない

-p, --[no-]profile [件数]

最も遅いテストをリストアップする(デフォルト10件)

--dry-run
テストを実行しない

-w, --warnings

Rubyの警告を有効にした状態で実行する


フィルタ・タグ

行番号でテストを指定できる。

$ rspec path/to/a_spec.rb:37:87

角括弧での指定もできる(下記は、ひとつめのグループの5番目と6番目のテストを実行)。

$ rspec path/to/a_spec.rb[1:5,1:6]

オプション
機能

--only-failures
失敗したテストのみ実行する
spec_helper.rbに設定を入れる必要あり)

-n, --next-failure

失敗したテストのみ実行し、ひとつめのエラーで中止する
エラーをひとつずつ修正していくのに便利
(「--[only-failures --fail-fast --order defined」と同じ)

-P, --pattern パターン

指定したパスのパターンに該当するファイルのテストを実行する
(デフォルト: spec/**/*_spec.rb

--exclude-pattern パターン
一致しないパターンを実行する(「--pattern」の逆)

-e, --example 文字列

テスト名に、指定された文字列を含むテストを実行する

-t, --tag タグ[:値]

指定したタグのテストを実行する(値の指定も可能)
タグの前に~をつけると指定タグ以外を実行できる
例) ~slow

--default-path パス
RSpecがテストを探すパスを指定できる
/specがデフォルトであるが、変更ができる


ユーティリティ

オプション
機能

-v, --version

バージョンを表示

-h, --help

ヘルプを表示

--init

.rspecspec/spec_helper.rbを生成する
Railsの場合は、rails g rspec:install
これらのファイル(さらにrails_helper.rb)を生成する


参考URL

https://relishapp.com/rspec/rspec-core/v/3-8/docs