iOSアプリを開発する中でユニットテストを書く時に、モックを使う機会は多いのではないでしょうか。
例えばモックを使うことで実際の通信を伴わないテストを書くことができ、テストが実行しやすくなります。
しかしモックすることで実際のプロダクションコードでの動作をテストしていない、保守性が下がるなどの問題もあります。
そのためモックの使い所を見極め、効果的に使う必要があります。
モックの扱いではTDDの文脈でロンドン学派、古典学派という2種類のアプローチがあります。
ロンドン学派はモックを積極的に使い、古典学派ではモックを可能な限り使いません。
この両者の議論を元に、プレゼンテーションロジックが多いなどiOSアプリ開発ならではの要素を考慮した上で、モックの効果的な使い方と使い分けについて品質保証、保守性等複数の観点から検証し、紹介します。
一緒により良いユニットテストのための議論をしましょう!