2010-09-28 136 views
4

什麼是模擬對象?你能解釋一下這個概念嗎?如何在C++中使用Mock對象?任何源代碼示例都將非常有幫助。模擬C++對象

回答

3

閱讀mockcpp,你會發現你的問題的答案。 Mock非常適合測試目的,您可以專注於測試一件事情並嘲笑環境中其他作品的行爲。

2

一般來說,一個模擬對象指的是一個類的實例,因爲名稱表示「嘲笑」原始類的功能。在對接口進行編碼時,這通常會得到簡化,所以當測試依賴於接口的組件時,只需實現接口以返回執行測試所需的結果。

你可以在這裏找到更多的信息,包括不同種類的嘲笑中被用於測試:

我希望這有助於。

謝謝, 達米安

+0

+1謝謝!希望能接受2個正確答案! – 2010-09-28 07:37:16

+0

@Als:沒問題:),只是很高興我可以幫忙 – 2010-09-28 12:29:01

0

Fake-It是一個簡單的C++嘲諷框架。 FakeIt使用最新的C++ 11功能來創建一個表達(但非常簡單)的API。使用FakeIt不需要重新聲明方法,也不需要爲每個模擬創建派生類。 這裏是你如何假它:

struct SomeInterface { 
    virtual int foo(int) = 0; 
}; 

// That's all you have to do to create a mock. 
Mock<SomeInterface> mock; 

// Stub method mock.foo(any argument) to return 1. 
When(Method(mock,foo)).Return(1); 

// Fetch the SomeInterface instance from the mock. 
SomeInterface &i = mock.get(); 

// Will print "1" 
cout << i.foo(10); 

還有更多的功能,以探索。繼續和give it a try