Everyday Rails - RSpecによるRailsテスト入門の輪読会をした
本日はTamarbで、「Everyday Rails - RSpecによるRailsテスト入門」の輪読会をしました!
この本は以前一度読んだことがありましたが、理解しきれていない部分も多く、とても勉強になりました!
この本にはサンプルアプリケーションが用意されており、それを動かしながらRSpecの練習をすることができてとても楽しいです!
各章ごとにブランチを分けてくれているため、取り組みたい場所から手をつけることもできて便利です!
また、経験豊富な先輩方から本にはのっていないお話などもお聞きすることができました!
具体的には、以下のようなお話がありました!
- 「describeのネストは五段以下にするのが読みやすい、Rubocopの標準設定でもそうなっている」
- 「Simple COVなどでガバレッジ測定する」
- 「ガバレッジ90%以上は最低でも満たしたい」
- 「モデルのテストでバリデーションエラーになるかは書いてもエラー文の内容までは書かない」
- 「現在バリデーションのエラーメッセージはハッシュだけどRails6か6.1からはオブジェクトになるので、エラー文の内容までテストを書いてもテストが壊れにくくなる」
- 「satisfyマッチャーを使えばブロックでどんな内容のテストでも書ける(※可読性は下がるよ)」
- 「読みやすいテストにするために、複雑な部分をfactoryに持たせたり、テストの行数が多くなってもletやbeforeを減らすのもあり」
- 「feature specとsystem specは同じ書き方できることが多いがsystem specはdatabase cleanerを使わなくてもデータを綺麗にしてくれる」
- 「beマッチャはインスタンスが同じかまでチェックするがeqマッチャは値が同じかだけチェックする」
他にも色々ためになるお話がありました!!
業務でも活かして行きたいです!!