はじめに
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 |
.rspec とspec/spec_helper.rb を生成するRailsの場合は、 rails g rspec:install でこれらのファイル(さらに rails_helper.rb )を生成する |
参考URL