IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Rails デフォルトの Minitest の assert_select メソッドは rails-dom-testing で定義されている。

調べてみる

assert_select メソッドについて Rails と Minitest のドキュメントを調べても、どちらにも定義されていなかった(Rails 4.1.7 では定義されていた)。Rails ガイドを読んでいたところ、rails-dom-test のリンクがあり、こちらで定義されていることがわかった。(Rails とは別の gem)

f:id:matt-note:20190318221641p:plain

 

rails-dom-tesing の依存関係を出力してみる。【参考:gem コマンドで依存関係を調べ、 特定の gem だけ bundle update する

f:id:matt-note:20190318223238p:plain

-> actionview, actionpack, actionmailer が rails-dom-testing に依存していることがわかった。

 

rails-dom-testing では他に css_select や assert_dom_equal など DOM に関するテストメソッドが定義されている。また、assert_select_email メソッドは HTMLメールのテストで使用することができる。これらのメソッドは Rails, Minitest のドキュメントを調べても見つけることはできない。

 

まとめ

Rails デフォルトの Minitest には、Rails 用に拡張したテストメソッドが含まれている。