3
我已經開始使用GTest(Google Test)來開發我正在開發的C++項目。我有一個類很大程度上依賴於MFC(CFile,CObject,CString等)。我該如何測試嚴重依賴於GTest的MFC方法
如何打破MFC的依賴關係(或最小化它們),所以我不必創建虛擬MFC對象來運行我的測試?我想測試我的方法不MFC功能。
這裏是一種方法的一個例子,我要測試:
// DumpContext class inherits from CDumpContext
void MyClass::Print(DumpContext &dc)
{
// MyClass::Print real work goes here :
...
}
恐怕我沒有看到問題。如果您的類從MFC類下降,則無法從項目中刪除該依賴項。確保測試代碼而不是MFC的方法是在測試中編寫*代碼,以便測試代碼而不是MFC。 –
我的類不從MFC下降,但使用MFC類的引用和局部變量。在給定的例子中,我必須在調用Print方法之前創建一個DumpContext。要創建CDumpContext(我的方法可以使用),我必須將CFile傳遞給CDumpContext構造函數。要創建一個CFile,我需要一個通過調用CreateFile函數等創建的句柄...我寧願只是將一個模擬DumpContext傳遞給我的方法,而不是使用MFC類創建一個「真正的」CDumpContext。現在它更有意義嗎?謝謝! –