これは、単体テストを書いているクラスの簡易版です
class SomeClass {
void methodA() {
methodB();
methodC();
methodD();
}
void methodB() {
//does something
}
void methodC() {
//does something
}
void methodD() {
//does something
}
}
このクラスの単体テストを作成する際に、各メソッドで使用される EasyMock を使用してオブジェクトをモックアウトしました。メソッド B、C、D でモック オブジェクトとその期待値を設定するのは簡単でした。しかし、メソッド A をテストするには、さらに多くのモック オブジェクトとその期待値を設定する必要があります。また、メソッド A をさまざまな条件でテストしています。つまり、モック オブジェクトをさまざまな期待値で何度もセットアップする必要があります。
最終的に、私の単体テストは保守が難しくなり、かなり雑然とします。誰かがこの問題に対する良い解決策を持っているか見たかどうか疑問に思っていました.