AAA (arrange, act, assert)について知った
Twitterを眺めていたら、AAA (arrange, act, assert) という、テストを書くにあたっての指針について知りました。
きっかけツイート:https://twitter.com/jnchito/status/1493781049767505920
- arrange は 準備という意味で、データの作成や条件の設定など
- act は 実行という意味で、検証したいメソッドの実行など
- assert は 検証という意味で、expect で期待する値となってるか確かめるなど
Rspec的には、
arrangeはletやbeforeに処理がまとまっているのが望ましく、
act、assertはitの中に処理がまとまっているのが望ましいようです。
このようにまとまっていると、どんな条件の時、何をすると、どんな結果が期待されるのか、ということが分かりやすいテストとなっているはず!
actに関しては、beforeにまとめて、itはassertだけにするという考えもあるようですが、私的にもactはitにまとまってる方がわかりやすいかな〜と感じました。
beforeはデータの作成や条件の設定に使うことが多いですし。
ここで、AAAという考え方を知る直前に自分が書いたUTをチェックしてみたところ、AAAに沿って書けておりました〜
ただ、もっと複雑なテストを書くときなどは、意識しないとAAAを守れていないことがあると思うので、テスト書く際は気をつけて行こうとおもいます(^_^)
参考にした記事