1. BDDとは BDD(ビヘイビアー駆動開発) はTDDを拡張した手法です。 1つのシナリオを書き、そのシナリオを満たすように実装を進めていきます。つまり、ユニットテストの範囲は単一クラスではなく、複数の依存関係にあるクラスも含みます。 基本的にビジネスマン(非エンジニア)から見たとしても理解ができるテストであり、受け入れテストとも言われます。 詳細に言うと、受け入れテスト(ATDD)はユーザー寄りで、振る舞い駆動開発(BDD)は開発者寄りと見る人もいます。 どちらかというとUIテストに使われる傾向があり、「Given-When-Then」パターンなどが手法として有名どころです。 また、ツールとしてはRSpec, Jest等が有名です。 2. ユニットテストの考え方と派閥 2.1. ロンドン派 テスト対象の依存関係をすべてモックに置き換える(自クラス以外は全部モック) ユニットテストの単