Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

RSpec | rspec command | pattern option

概要

rspec command | pattern option

詳細

rspec commandのpattern optionでワイルドカードなどを利用したパターン文字列で
テスト対象を抽出して実行できます。
デフォルトは「spec/**/*_spec.rb」になっています。

構成

$ tree
┣ lib
| ┣ hage.rb
| ┣ hige.rb
| ┗ hoge.rb
┗ spec
    ┣ helper.rb
    ┣ it
    | ┣ scenario1_spec.rb
    | ┣ scenario2_spec.rb
    | ┗ scenario3_spec.rb
    ┣ spec_helper.rb
    ┗ ut
        ┣ hage.rb
        ┣ hige_spec.rb
        ┗ hoge_spec.rb

全体を実行

$ rspec -fs
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Scenario1
  scenario1_1
  scenario1_2

Scenario2
  scenario2_1
  scenario2_2

Scenario3
  scenario3_1
  scenario3_2

Hage
  hage1 1
  hage1 2
  hage2

Hige
  hige1 1
  hige1 2
  hige2

Hoge
  hoge1 1
  hoge1 2
  hoge2

Finished in 0.00387 seconds
15 examples, 0 failures

単体テスト(ut)のみを実行

オプションの指定は「-P」「--pattern」のどちらでもよい。

$ rspec -fs -P "spec/ut/*.rb"
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Hage
  hage1 1
  hage1 2
  hage2

Hige
  hige1 1
  hige1 2
  hige2

Hoge
  hoge1 1
  hoge1 2
  hoge2

Finished in 0.00217 seconds
9 examples, 0 failures

結合テスト(it)のみを実行

$ rspec -fs -P "spec/it/*.rb"
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Scenario1
  scenario1_1
  scenario1_2

Scenario2
  scenario2_1
  scenario2_2

Scenario3
  scenario3_1
  scenario3_2

Finished in 0.00169 seconds
6 examples, 0 failures