assert_selectで属性値を扱う方法

rhtmlのレンダリング結果を確認するために、assert_selectを使用する。この際、要素が持つテキストを確認するのではなく、ある属性の値を検証する必要も出てくるだろう。

ある要素のある属性値を確認するためには、以下のようにすれば良い。

assert_select element, ‘[name=?]’, ‘value’

上記の例では、ある要素elementに対して、それが持つ”name”属性の値が”value”であることを確認するコードである。つまり、 CSSセレクタの属性セレクタを使って属性を特定し、「?」の部分、つまり属性値に対してassert_selectが第3引数で指定した値と一致するか比較を行ってくれるのである。

真面目にfunctionalテストを行う場合には必須となるテクニックなので、ぜひ身に付けておきたい。

このエントリーをはてなブックマークに追加

関連記事

Firebase FunctionsデプロイでArtifact Registryのクリーンアップポリシー設定エラーに遭遇した話

Web Serial APIでブラウザからシリアルデバイスを操作する

ウェブブラウザとハードウェアの関係

macOSやLinuxからWindowsに移行したら快適になった話

「エンジニアチームの生産性の高め方」という書籍が出版されました