0

次のコンストラクターを持つクラスがあります。

class Foo {
    Foo (Bar bar) {
       ...
    }
}

このクラスの単体テストを作成し、Bar への依存関係をモックアウトしようとしています。ただし、JUnit 3を使用する必要があり、Bar は具象型です。誰にもアイデアはありますか?EasyMock クラス拡張 (JUnit 4 が必要) を使用できず、Mockito で成功していません。私が検討している1つの(特に醜い)解決策は次のとおりです。

interface IBarWrapper {
    void barMethod();
}

class BarWrapper implements IBarWrapper {
    void barMethod() {
        bar.barMethod();
    }
}

class Foo {
    Foo (IBarWrapper wrapper) {
        ...
    }
}

しかし、テストに合わせて実際のコードを変更するという考えは好きではありません。

4

2 に答える 2

1

サブクラス化できますBar。物事を過度に複雑にする必要はありません。

于 2012-11-09T16:10:08.063 に答える
1

EasyMock (v3.x) を使用すると、具体的なクラスをモックできます。Readmeを参照

于 2012-11-09T14:44:38.067 に答える