ユニットテスト環境はどのようなものが存在するか(C++編)

Posted: 2012年12月10日

前回は、C言語のユニットテストフレームワークを紹介しましたが
今回は、C++のユニットテストフレームワークについて
書いていきます。
C言語よりも発達しているせいか代表的なものしかなかなか見つからない・・・
ユニットテスト C++ Wikipedia

C++言語

CppUnit

検索するとよく出てくるのがこれ
定番と言った名前のせいか実際に定番なのかはわかりませんが
可もなく不可もなくな感じ
テストフレームワークとしては、十分な感じであり
また、テスト実行画面も提供されている?(TestRunnner)
そこら辺はさすがC++になっただけありリッチなテスト環境に!!

CUTE

Eclipse(IDE)で使用可能なユニットテストフレームワーク
つまり、マルチプラットフォーム?
テストの初期化/終了処理を行うことは出来なさそう
テストの定義は、とても簡単Stackクラスにpushすればいいだけ
分かりやすい!!

C++Test

有料のユニットテストフレームワークですが
機能を考えるとさすが有料と思えてきます。
他のユニットテストでは、通常コードカバレッジは計測できませんが
標準で搭載しているなど、魅力的なところが色々と有ります。
値段を考えると、個人では導入は厳しいし
受注、外注企業が導入するもの厳しいかも(納品先に実行環境がないため)
高機能な分、処理に時間がかかるらしい
でも、C++だから〜他の言語のフレームワークよりは早いんじゃないかと思ったり・・・

googletest

なんか違和感があると思ってしまう
TESTマクロにテスト内容を記述するらしいが
テストコードは、関数に書くイメージがあるため
ユニットテストを作成している気がしない
テストコードは、別のものとアピールするにはこれくらいしたほうがいいかもしれませんが
listener実装など気にはなるものの、そこまで必要になるとは思えない

まとめ

金銭的な余裕があればC++Testをおすすめしたいけど
実際に使用したこともないため
無難なCppUnitがいいかもしれません

カテゴリー: バグ, ユニットテスト | タグ: , , | コメント無し »

コメント