TL;DR GOOS本『実践テスト駆動開発』で触れられている「ロールをモックせよ」について、違った角度で解説ドメインモデルを豊かにすることでコードがシンプルになる例Mock Behaviors, Not Statesユニットテストを記述する際、テスト対象のオブジェクトが利用しているオブジェクト(依存オブジェクト、隣接オブジェクト)はモックオブジェクトにして、テストしたい状況をテストコード側からコントロールします。しかし、闇雲にモックを使ってテストを記述すれば良いわけではありません。今回は、モックが有効に機能するテストとはどういったものなのかを解説します。 サンプルコード簡単なサンプルで説明します。Extract Till You Dropのモデルと近いものを使います。グループ、メンバー、およびグループリポジトリがあります。グループオブジェクトはインメモリでは所属メンバーの情報を保持しておら
![状態ではなく、振る舞いをモックせよ](https://cdn-ak-scissors.b.st-hatena.com/image/square/ffed7d6355c5dde4076bbd017cfe74011f97acb8/height=288;version=1;width=512/https%3A%2F%2F64.media.tumblr.com%2F93ab385966dfd592c948c7fa650f52dd%2F75727852c67df512-77%2Fs500x750%2F44919b08cfb150f5f9b29965fd859bc2a5c4929a.png)