一直以來我都是用 Boost.test 做為測試工具,這是到目前為止我唯一在現實中使用的測試工具,雖然我也試過其它的 test framework,不過僅止於跑跑簡單的範例而已。

這倒不是因為 Boost.test 有多出色,而是因為我的開發環境都灌了 Boost,所以 Boost.test 對我而言是最容易取得的選擇,而且還不算太難用。

最近開始注意到 google test 這套工具
http://code.google.com/p/googletest/

從範例上看起來易用性還不錯,而且可讀性似乎比 Boost.test 還好一點。如果最近有空的話我會花點時間研究看看。

另外一個讓我考慮使用 google test 的理由是,他有一個搭配的 mock object 產生器
google mock
http://code.google.com/p/googlemock/

為了嚴格的隔離測試而製造 mock object 或 code stub 是件煩人的事,有時候在複雜度與效益的權衡下我會放棄隔離測試,只測物件的整體行為,而低階的部分或內部狀態則交給 Assertion 或 Tracing 去把關。這樣做當然不如充分 Unit test 那麼全面,不過我認為在 C++當中算是合理的trade off

novus 發表在 痞客邦 PIXNET 留言(0) 人氣()