Release Version 1.3.1 · jnicklas/turnip
テスト用に gemfiles/
以下に RSpec 毎のファイルが増えてくると不安になる…
主な内容
掲題のとおり、RSpec 3.3.0 対応となります。
RSpec 3.3.0 の変更で Turnip に影響があったのは、テスト実行の際に行数が指定された時の挙動です。
どういうこと
つまり
$ rspec /path/to/foo.feature:12
みたいなやつです。RSpec 3.3.0 からは ↑ のような行数だけではなく
$ rspec /path/to/foo.feature[1:4]
このように書くことで
「1番目の describe の中にある、4番目の it だけ(もしくは4番目の describe の中にあるやつ全部)を実行しなさい」
という指定が可能になります。
おそらくこれは手動で指定するものではなく、同じく RSpec 3.3.0 から導入された --only-failures
や --next-failure
のための機能追加じゃないかなって思います。多分。
んでもって
この機能追加によって、Turnip 側から行数指定による Scenario の指定ができなくなっていたので
こんな感じで修正を行いました。instance_eval
万歳。
おまけ
今回のような、テストケースの指定の仕方は、Pure RSpec なテストケースであれば公式サイトを見ればわかりますが、
Turnip の場合はどのように使えるんだ?みたいな疑問がわくと思います。行数指定は前からありましたが、[1:4]
みたいな ID 指定を feature ファイルに置き換えるとどうなるんだ?みたいな。
そんなわけで、せっかくなので wiki にまとめておきました。
How to identify scenario using Location (or IDs) · jnicklas/turnip Wiki · GitHub
参考になればと思います。
まとめ
RSpec どれかサポート切りたい。「RSpec 3.x + RSpec 3.(x-1) + RSpec 2.14」とかが落とし所かなー