読書メモ (WIP)
- Test Double
- Mock, Spies 外部へのインタラクションをエミュレートする
- Spy, Dummy, Fake 外部からのインタラクションをエミュレートする
- テストの命名規則
- 非エンジニアでなくてもわかるようにする。
- メソッド名は含めない
- 内部実装ではなく振る舞いをテストすべき
- ヘキサゴナルアーキテクチャではレイヤーごとにオブザーバブルなAPIがあるのでそれをテストスべきであると述べている。
- Stubとのインタラクションをテストしない スタブは最終的な結果を得るための手段でしかなく、内部的な実装である。内部的な実装のテストはfragileである。
- アルゴリズム的なロジックは内部実装なので直接テストスべきではないか?というとそれはそれで違う気がしている。内部実装とはいえシステムを構成する重要な要素である。 おそらくレイヤーの切り方によると思っていて例えばライブラリのレイヤーとして切り出せばアルゴリズム自体がオブザーバブルなAPIになるのでテスト対象となる。