23

C++でTDDの実行を開始しようとしています。CPPUnitを見たことがありますが、他に人々が好むオプションがあるかどうか疑問に思いました。

あなたの提案をありがとう!

4

3 に答える 3

29

GoogleTestバンドルの一部となったGoogleMockをお勧めします。数年前にUnitTest++からGoogleTest/ Google Mockに切り替えましたが、振り返ることはありませんでした。

モック機能を使用したくない場合でも、GoogleMockを使用できます。そのマッチャー非常に便利です

于 2011-03-15T18:00:56.663 に答える
10

数年前にCppUnitからboost::testに切り替えましたが、とても満足しています。

  • CppUnitのドキュメントは存在しません。コードを読まずに、サポートされているコマンドラインオプションを見つけてください。どうやら、JUnitにすでに精通している人にとってはもっと理にかなっているようです。boost::testには優れたドキュメントがあります。
  • boost :: testの自動テスト登録機能により、単体テストケースの追加がめちゃくちゃ簡単になります。CppUnitを使用すると、テストケースごとにかなりの量の定型文を作成する必要があります(ヘッダーの行と、それを登録するための.cppの行、テストメソッド自体の上に)。
  • boost :: testを使用すると、コマンドラインから正規表現でテストサブセットを選択できます。CppUnitソースをハックして、最初にそれを取得したときにそれを実行する必要がありました。
  • がCppUnitから見逃しているのは、その「プロテクター」です。独自に定義して、各テストをラップし、何でもチェックすることができます(たとえば、x87浮動小数点丸めモードでコードが混乱する問題がありました。プロテクターで状態が変更されていないことをチェックすると、すべての違反者がすぐに見つかりました)。boost :: testには似たようなものがありtest_observerますが、前回試したときは、実際に1つのテストに失敗することはできませんでした。
于 2011-03-15T13:54:10.060 に答える
6

C ++ユニットテストフレームワークを探しているだけの場合は、この質問とその回答を参照してください:C++ユニットテストフレームワーク

于 2011-03-15T13:41:25.980 に答える