就在昨天終于做了gtest的分享,我的預研工作終于結束了,感覺離我辭職的日子不遠了,畢竟是專注java二百年啊,要告別實習啦。。
這篇是GoogleMock的簡介文檔,會在后邊附帶一個自己的例子。
一、什么是Google C ++ Mocking Framework?
當你寫一個原型或測試,往往不能完全的依賴真實對象。一個mock對象實現(xiàn)與一個真實對象相同的接口,但讓你在運行時指定它時,如何使用?它應該做什么?(哪些方法將被稱為?什么順序?多少次?有什么參數(shù)?他們會返回什么?等)
注意:很容易混淆偽造對象和模擬對象。fakes和mock在測試驅動開發(fā)(TDD)社區(qū)中實際上意味著非常不同的東西:
Fake(偽對象)有工作實現(xiàn),但通常采取一些捷徑(可能使操作更便宜),這使得它們不適合生產(chǎn)。內存中的文件系統(tǒng)將是一個fake的例子。
Mock(模擬器)是預期編程的對象,它們形成它們期望接收的調用的規(guī)范。
如果所有這些對你來說太抽象了,不要擔心 - 最重要的事情要記住是一個模擬允許你檢查它自己和調用者之間的交互。一旦你開始使用mock,fake和mock之間的差異將變得更加清晰。