13

単体テストとテスト駆動開発についてよく読んでいます。

最近はJavaのユニットテストコードも読んでいます。

しかし、私は Qt で開発することを好みます。そこで、「C++ での単体テスト」をググったところ、C++ で利用できるさまざまな単体テスト フレームワークに関する多くの情報が見つかりました。

ただし、さまざまなフレームワークの信頼できる比較を見つけることができませんでした。

だから私は SO コミュニティに期待して、C++ の「最良の」単体テスト フレームワークを選択する方法を教えてくれます。

また、Qt での TDD (特に Qt-Creator の使用) に関する具体的なコメントがあれば、大歓迎です。

4

7 に答える 7

18

通常はBoostを使用しますが、Qt を使用している場合は、QtTestLibを選択することをお勧めします。

于 2009-05-27T05:29:00.817 に答える
3

これも次と同じ質問のようです。

URL のタイトルにかかわらず、実際にはC++ である C++ での単体テスト。

そこから、役立つはずのさらに2つのSOの質問にリンクしています。

C++ コードの単体テスト - ツールと方法論 C++ 単体テスト フレームワーク

于 2009-05-27T05:04:26.570 に答える
2

テスト フレームワークの「xUnit」ファミリは、通常、かなり安定しています (jUnit、NUnit など)。私自身は使用していませんが、C++ 用の jUnit のポートがあります。

http://sourceforge.net/projects/cppunit

于 2009-05-27T05:19:48.717 に答える
2

ウィキペディアから入手できるすべての (?) C++ 単体テスト フレームワークを比較した表があります。

利用可能なC++ 単体テスト フレームワークの古い比較もあります。更新されていないと思うので、表よりも議論が多いので補足として言及します. CppUnit、CppUnitLite、Boost.Test、NanoCppUnit、Unit++、CxxTest をカバーしていますが、特にGoogle C++ フレームワークはカバーしていません。

于 2009-05-27T06:31:03.140 に答える
1

通常、Boostは適切な選択であり、 Boost Test Libraryというテスト フレームワークが含まれています。小さなテストケースに使用して、期待どおりの結果が得られましたが、TTD のように広範囲に使用したことはありません。

于 2009-05-27T05:00:36.383 に答える
0

ライブラリの構築方法を理解せずにすぐに作業を開始したい場合は、単一のヘッダー ファイル インクルード ソリューションがあり、フィクスチャ (セットアップとティアダウン)、通常の TEST() {} with CHECK_TRUE などをサポートします。メモリ リーク検出機能とパフォーマンス テスト機能を備えています。

https://gitlab.com/cppocl/unit_test_framework

于 2018-06-05T21:28:16.210 に答える