【テストフレームワークとは?】
プログラムのテストは
1.単体テスト
・クラスやメソッドなど一部のモジュール・アルゴリズムの動作テスト
2.結合テスト
・単体テスト済みのモジュールの組み合わせの動作テスト
3.システムテスト
・機能だけでなく、性能など非機能要求も含めたシステム全体の動作テスト
主に三つに分類されます。
テストフレームワークは 各テストを視覚的、効率的にするために開発されているプログラムです。
【Google Testとは?】
Googleの社内で開発されたC++テストフレームワーク
マルチプラットホームに開発されているなど、かなり使い勝手のよいものです。
オープンソースなので興味のある方はダウンロードしてみてください。
【コード】
使いやすいように少し拡張してみました。
変更点としましては、
TEST -> GT_TEST_FUNC
TEST_F -> GT_TEST_CLASS
testing::Test -> GT_FORM
エラー内容にメモリリーク検知機能を追加 <- 入れたかった機能その1
変更したい思う場所
テストコードを見てわかると思いますが
Foo クラスの m_num が protected なことに気がつくと思います。
これはGoogoleTestの仕様になっているので仕方がないのですが、
できればprivate にしたいかなとは思います。
(テストするだけなので支障はないのですが・・・・)
あと、GoogleTestのダウンロードはご自身でお願いします。
また、コンパイルを通すための作業もご自身でお願いします。
プロジェクトごとアップロードしたかったのですがやり方わからなかったので申し訳ありません。
粗末なコードですが感想や意見等ございましたらお願いします。m( _ _ )m
最終更新:2009年02月14日 16:18