Everyday Rails RSpecを読んだ感想

・はじめに

テストコードを書く大切さはRuby on Rails5速習実践ガイドで理解したが、何をテストするのかということは全然理解できていなかったので、この本で理解するようにしたい

 

テストする内容はモデルとコントローラーの単体テストとUIのテストを行う統合テストに分かれていて、モデルではバリデーション、クラスメソッドやスコープのテストを行う。

コントローラーはHTTPリクエストやアクション、レスポンスがHTML形式なのかJSON形式かを確認するテストを行う。

統合テストではモデルとコントローラーが他のモデルとコントローラーと一緒に動作をすることを確認する。

それぞれ、これを意識してテストコードを書くのだなと理解した。

統合テストの項目でselenium-webdriverのgemを使うことでjavascript のテストを行うことができるのとAPIのテストを行うことができるのは驚いた。

ユーザーが行う操作のありとあらゆる動作のテストを網羅していて、すごい万能だしコードの安全性を高いレベルで担保してくれるんだなと思った。

また、業務で取り扱っているメール機能のテストも書かれていて、やり方の例として非常に参考になった。

テスト駆動開発のやり方も書かれていて、まずは情報をコメントとして書いて、それを元にテストコードに変換して、テストが通るようにコントローラーやモデル等にコードを書いていく。こうしていくことで自分が何をやるべきか道筋が見えるし、コードの安全性も作り上げることができる利点があるんだなと勉強になった。

まだまだ、読んでて理解ができていない部分もあるが、まずは簡単なテストコードを書いていって徐々に慣れていき、読み返して理解できていなかった部分をテストしていってこの本に書かれているテクニックを全部身につけるようにする。

実践的に書かれているから、読みやすくテストコードを書きながらやり方を身につけられるのでとてもいい本だった。