AAAパターン
Give-When-Thenパターンもほぼ同じ
1つのtest caseの中で、以下をこの順番に1度ずつ行う
Arrange
testの事前条件を満たすように、SUTやDOCを用意する
通常は、Arrangeに書くものが最も多くなる
ただし、流石に大きくなりすぎる場合は工夫する
/mrsekut-book-4839981728/079
factory用意したり
Object Motherを用意したり
Test Data Builderを用意したり
Act
対象の関数を呼び出す
SUTのinterfaceが正しければ、常に1行になるはず
/mrsekut-book-4839981728/080
Assert
実行結果が想定したものであることを検証する
/mrsekut-book-4839981728/105 (3.6 確認(Assert)フェーズの読みやすさの改善)
equal(30, result)と書くより、result.should().be(30)と書いた方が、英語話者にとっては読みやすいよね、ぐらいの内容
1つのtest caseの中で、各フェーズが1度以上出現する場合はtest caseを分割する
例えば、ActとAssertが2回出てくる場合など
unit testでは1つの振る舞いのみを検証する
/mrsekut-book-4839981728/077
参考
/mrsekut-book-4839981728/075 (3.1 単体テストの構造)