assert_selectで属性値を扱う方法
rhtmlのレンダリング結果を確認するために、assert_selectを使用する。この際、要素が持つテキストを確認するのではなく、ある属性の値を検証する必要も出てくるだろう。
ある要素のある属性値を確認するためには、以下のようにすれば良い。
assert_select element, ‘[name=?]’, ‘value’
上記の例では、ある要素elementに対して、それが持つ”name”属性の値が”value”であることを確認するコードである。つまり、 CSSセレクタの属性セレクタを使って属性を特定し、「?」の部分、つまり属性値に対してassert_selectが第3引数で指定した値と一致するか比較を行ってくれるのである。
真面目にfunctionalテストを行う場合には必須となるテクニックなので、ぜひ身に付けておきたい。