2017-07-07 22 views
0

Class Aのインスタンスがあり、別のインスタンスがClass Bです。私はClass Bの独立したコードの単体テストを完了しました。他の操作では、Class AClass Bのメソッドを呼び出し、他のクラスを使用して処理してからClass Bのメソッドを呼び出します。単体テストのクラスを模擬して

私の質問は、Class Aと完全なユニットテストClass Bの依存関係をどのように嘲笑しますか? Class BClass Aのインスタンスを使用している場合は、Class Aをモックしてタスクを完了できます。しかし、私の場合、Class AClass Bのインスタンスを使用します。

単体テストのこのシナリオではどうすればよいですか?

答えて

0

これは、class Aclass Bをどのように設計したかによって異なります。彼らはうまく設計されている場合は

あなたは簡単にinterface IBのためのモック実装を行うことができます - Bのインタフェースを - (GoogleTest & GoogleMockを使用して)、その後class Aのユニットテストでこのモック実装を使用しています。 GoogleMockの使用方法を確認するには、GoogleMock CheatSheetをチェックしてください。

そうでない場合は、Google Mock: Mock private variable member that is instantiated in target class's constructorのような状況に陥り、を壊すためにpreprocessor directivesを使用する必要があります。

関連する問題