私は 'ImporterService'クラスをテストするためのテストクラスを作成しています。このサービスはInputStreamを読み取り、そのデータからObjectを作成します。 Object(この場合はBuilderクラス)は、 'ImporterService'クラス内でインスタンス化されます。私の 'ImporterService'クラスをテストするためには、Builderクラスの呼び出しを検証する必要があります。このため私はMockingフレームワークを使いたいと思いますが、 'ImporterService'の外に 'Builder'オブジェクトの模擬インスタンスを作成するにはどうすればいいですか?私は、テストのセットアップに上書きすることができ、保護法にビルダークラスの作成を動かす考えていた内部インスタンスオブジェクトの模擬
public Builder importFrom(BufferedReader reader) throws IOException {
String someValue = readFrom(reader);
Builder builder = new Builder(); // I need to mock this Builder object...
builder.someMethod(someValue); // to see of a method is called with the expected value
}
:よう
私の「ImporterService」クラスのメソッドを探します。しかし、このソリューションは、ImporterServiceクラスが内部ロジックを漏らしているので、私が望まない他のクラスによってメソッドをオーバーライドすることができるので、私にはあまりうまくありません。
:あなたは次の操作を行い、あなたのユニットテストで
:ここ
は、あなたがこれを達成する方法を示すEasyMockを使用した例でありますあなたのユニットがテストする別のDIフレームワークに春に入ります。あなたの配線をテストしていない限り –