既存の記事には見当たらず(探し方が悪いだけかも),リファレンスでも見つけるのが困難だったので記事にする。
gem を開発していて,テストを実行するには,
rake test
とすればよい。
おっと,前提条件として,
bundle gem hoge
のようにして作った,典型的な構成の gem とする。
特定のテストファイルだけを実行したいときにはどうするか?
以下のようにしてファイルを指定すればよい。
rake test TEST=path/to/some_test.rb
このことは Ruby 公式リファレンスの
class Rake::TestTask (Ruby 2.7.0 リファレンスマニュアル)
に「test ターゲットの使用例」として書いてあった。
うーん,しかし,このページにたどり着くのはなかなか難しいな。それに「例」として 1 行掲載されているだけで説明が無いし。
実験したところ,TEST
の指定にはワイルドカードが使えるようだった。
よって,ディレクトリーや拡張子を書くのが面倒なら
rake test TEST=**/*/some_test*
のようにすることもできる。
ちなみに bundle gem hoge
で作った gem だと test
がデフォルトタスクなので,test
を略して
rake TEST=**/*/some_test*
と書くこともできる。