3
私が作業しているC++プロジェクトにGTest(Google Test)を使用し始めました。私はMFC(CFile、CObject、CStringなど)に大きく依存する1つのクラスを持っています。GTestを使用してMFCに大きく依存するメソッドをテストするには
私はMFCの依存関係を壊す(またはそれらを最小限に抑える)ので、テストを実行するためにダミーのMFCオブジェクトを作成する必要はありません。私のメソッドがMFC functionnalitiesでないものをテストしたい。ここで
は、私がテストを持っている方法のようなものの一例である:
// DumpContext class inherits from CDumpContext
void MyClass::Print(DumpContext &dc)
{
// MyClass::Print real work goes here :
...
}
私は問題が表示されません。クラスがMFCクラスから降りた場合、その依存関係をプロジェクトから削除することはできません。 MFCのコードではなくコードをテストするように*あなたのコードに*コードを書くことです。 –
MyクラスはMFCから降下しませんが、MFCクラスである参照とローカル変数を使用します。この例では、Printメソッドを呼び出す前にDumpContextを作成する必要があります。私のメソッドで使用できるCDumpContextを作成するには、CDumpContextコンストラクタにCFileを渡す必要があります。 CFileを作成するには、CreateFile関数などを呼び出すことによって作成したハンドルが必要です... MFCクラスを使用して "実際の" CDumpContextを作成する代わりに、自分のメソッドにMump DumpContextを渡すことをお勧めします。それは今より意味があるのですか?ありがとう! –