問題タブ [cppunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3039 参照

c++ - 致命的なエラー C1083

修正方法がわからないコンパイラ エラーが表示されます。はい、私はそれがばかげていることを知っていますが、私はそれを止めることができないようです. IDE オプションの VC++ ディレクトリにインクルードを追加しました。どんな助けでも大歓迎です。

エラーは次のとおりです。

エラー 1 致命的なエラー C1083: インクルード ファイルを開けません: 'cppunit/TestFixture.h': そのようなファイルまたはディレクトリはありません c:\...\Application\Test.cpp 5

0 投票する
2 に答える
2798 参照

c++ - CUnit - libc 関数の「モッキング」

プロジェクトの単体テストに CUnit を使用しています。libc 関数を正しいパラメーターで呼び出しているかどうか、およびその戻り値を正しい方法で処理しているかどうかをテストする必要があります。例: bind(...) 関数を呼び出す場合 - 渡した af パラメータをチェックして、これが間違っている場合はアサートします。また、戻り値をエミュレートし、チェックした場合はアサートします。正しい方法。

これらの目的のために、CUnit環境には、テスト中に「モック」bind()関数を呼び出し、コードを実行するときに実際のbind()関数を呼び出せる組み込みメカニズムがあることを期待しますが、次のようなものは見つかりませんこれ。

CUnit で何か不足しているかどうか教えてください。または、これを実装する方法を提案してください。

ありがとう、ジョー。

0 投票する
1 に答える
329 参照

c++ - モック オブジェクトの苦悩

次の問題があります。触れることはできませんが、それらを単体テストする必要がある多くのクラスがあります。残念ながら、クラスは単体テストを念頭に置いて設計されていないため、コードをテストするためのモック オブジェクトを作成します。

例:

上記の例では、テストしたいのですfoo1()が、必要なfoo2()ので、モック オブジェクトに属させたいと思いfoo2()ます (実際には、これらの関数/クラスは非常に複雑で、ハードウェア構成などとの相互作用を伴うため、モック オブジェクト/関数が必要です)。 )。

これまではこのようなことを行ってきましたが、コードが他の単体テストに副作用を及ぼすように見えるため、実際には最適ではありません。

元のクラスを変更せずに (または最小限の変更で) これを行うより良い方法はありますか? テストには CPPUnit を使用します。

編集: 環境をより明確に説明するために、タグ winapi を追加しました。

0 投票する
3 に答える
7179 参照

cppunit - CppUnit: 単一のテスト ケースを実行する

http://cppunit.sourceforge.net/doc/lastest/cppunit_cookbook.html

彼らは簡単な TestCase を提供しますが、それを実行する方法を示していません (main関数はありません)。私は彼らのドキュメントを調べましたが、テストを実行して、成功したかどうかに関するテキスト出力を取得する方法を見つけることができません。フィクスチャをまとめたり、レジストリなどを使用したりしたくありません。

その単一のテスト ケースを実行するにはどうすればよいですか? IEそれに付随するmain機能は何ですか?

0 投票する
5 に答える
16921 参照

makefile - マクロ `AM_PATH_CPPUNIT' がライブラリに見つかりません

libtorrent共有ホスティングを構築しようとしています。そのため、CPPUnit(1.12.1) をビルドしまし--prefix=$HOMEた。その後、 my$HOME/lib$HOME/includeCPPUnit ライブラリとヘッダーが含まれています。

エクスポートしたLD_パス

次に、実行するlibtorrent/autogen.sh --prefix=$HOMEと次の警告が表示され、構成を実行できなくなります。

cppunit.m4 ファイルは $HOME/share/aclocal にあります。libtorrent何らかの理由でそのディレクトリが見つからないと思います。

0 投票する
1 に答える
294 参照

oracle - CppUnit での C++ リンカ エラー

CppUnit の拡張ライブラリをコンパイルしようとしています。

しかし、リンク中に次のエラーが表示されます。

DatabaseAssert.cp:(.text+0x782): undefined reference to 'CppUnit::DatabaseAssert::getDBConnection(DBAdapter*)'

含まれているヘッダー ファイルには次の定義があります。

static oracle::occi::Connection* getDBConnection(DBAdapter *dbAdapter);

それでもundefined referenceエラーが発生する理由の手がかりはありますか?

0 投票する
1 に答える
1398 参照

cppunit - libevent によって管理されるイベント ドリブン アプリケーションの単体テストを作成するにはどうすればよいですか?

非同期 I/O 用の libevent ライブラリを使用してイベント ドリブン アプリケーションを作成しています。基本的に、アプリケーションには、ポートでデータをリッスンする evconnlistener があります。データを受信すると、データ ペイロードに応じて、対応する http REST エンド ポイントにデータが転送されます。転送コンポーネントは libevent が提供する evhttp_* を使用します。

アプリケーションの健全性を満たすためにアプリケーションを外部プロセスとしてテストすることはできますが、コード カバレッジ レポートの生成に関しては困惑しています。cppunit などの通常の単体テスト フレームワークを介して呼び出すことができる単体テストを作成するにはどうすればよいですか?

0 投票する
1 に答える
626 参照

c++ - CPPUNIT: 名前を使用して TestFixture のインスタンスを作成する方法

CPPUNIT_NS::TestFixture を拡張する「 TT_Common」と「TT_Container 」という 2 つのテスト クラスがあります。

そして、CPPUNIT_NS::TestRunner を拡張する TT_Runner と呼ばれる別のクラス:

私はすでに TestFixture の名前持っていますが、そのインスタンスを作成するにはどうすればよいですか? 名前を取り、インスタンスを返すファクトリまたはレジストリが見つかりません。

0 投票する
1 に答える
638 参照

perl - CppUnit出力からTAPフォーマットへのコンバーター

CppUnitの出力をTAP形式に変換するperlモジュールを探しています。後でproveコマンドを使用して、テストを実行および確認したいと思います。