問題タブ [boost-unit-test-framework]

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 投票する
5 に答える
16320 参照

c++ - Boost.Testでベクトルを比較する方法は?

BoostTestを使用してC++コードの単体テストを行っています。

期待される結果と比較する必要のある値のベクトルがありますが、ループ内の値を手動でチェックしたくありません。

主な問題は、ループチェックでインデックスが出力されないため、不一致を見つけるために検索が必要になることです。

std::equalまたは2つのベクトルを使用できますstd::mismatchが、それには多くの定型文も必要になります。

これを行うためのよりクリーンな方法はありますか?

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

boost - Boostユニットテストフレームワークに対してビルドする際のリンクエラー

ここで詳しく説明するように、スタンドアロンライブラリを構築してBoost UnitTestFrameworkを使用しようとしています。

http://www.boost.org/doc/libs/1_35_0/libs/test/doc/components/utf/compilation.html

そこで、前述のファイルを含むVCライブラリプロジェクトを作成してビルドしましたが、成功しました。次に、テストプロジェクトを作成し、作成したライブラリプロジェクトを参照しましたが、ビルドしようとすると、次のリンクエラーが発生しました。

これらは主にBoostデバッグライブラリが原因のようですが、Boostデバッグライブラリはライブラリとしてリンクするのではなく、ヘッダーファイルとしてインクルードするだけでよいことを念頭に置いて、リンクエラーが発生する理由がわかりません。

何か案は?!

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

c++ - MinGW を使用した Eclipse で単体テストの出力が生成されない

以下のように、非常に単純な Boost 単体テストがあります。

これは問題なく問題なくコンパイルされます。ただし、アプリケーションを実行すると、コンソール ビューに何も出力されず、コンソール ビューにはアプリケーションが終了したことが示されます。を介してプログラム引数としてログレベルを設定しようとしました--log_level=allが、効果がありませんでした。ただし、コマンド ラインから実行可能ファイルを実行すると、期待どおりの出力が表示されます。また、プログラムをデバッグすることもできません。これは非常に重大な問題です。Eclipse 3.7、MinGW 4.6、および Boost 1.52 を使用しています。何かご意見は?

編集 ここに私のコンパイラ引数があります:

g++ -IC:\Boost\boost_1_52_0 -O0 -g3 -Wall -c -fmessage-length=0 -o src\Test1.o ..\src\Test1.cpp

g++ -LC:\Boost\boost_1_52_0\stage\lib -o MinGWUnitTestProject.exe src\Test1.o -llibboost_unit_test_framework-mgw46-d-1_52

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

boost - ブースト テスト: エラー数を取得する

Boost UTF で現在のテスト ケースの現在のエラー カウントを取得する方法はありますか?

テスト ケースで少なくとも 1 つのチェックが失敗した場合にコードを実行したいと考えています。何かのようなもの:

(このマクロは存在しません。)

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

c++ - クラス、BOOST_TEST_MODULE、BOOST_AUTO_TEST_SUITE: 命名の問題?

それで、ブースト単体テストを使い始めました。クラスのインスタンスを作成する簡単なテストをビルドしようとすると、コンパイル エラーが発生します。クラスのインスタンスがなくても問題なく動作します。

コンパイル エラー メッセージは次のとおりです。

WTFomgFail_test.cpp:

WTFomgFail.hpp:

WTFomgFail.cpp:

BOOST_AUTO_TEST_SUITE(WTFomgFail)他のものに変更すると、エラーはなくなりますBOOST_AUTO_TEST_SUITE(OMGreally)

#define BOOST_TEST_MODULE OMGreallyさらに、 withを使用してもエラーは発生しませんBOOST_AUTO_TEST_SUITE(OMGreally)

それで、私の質問は、ブーストUTFを使用してモジュール、test_suite、およびクラスに同じ名前を付けることは明示的に禁止されている場合ですか?

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

c++ - BOOST_TEST_MESSAGE を画面に表示するにはどうすればよいですか?

Boost Unit Testing Framework を手探りで進めていて、機能する基本的な単体テストをセットアップしました。BOOST_TEST_MESSAGEどのテストが実行されているかをユーザーに知らせるために使用していますが、メッセージが画面に表示されません。例えば:

に定義しようとBOOST_TEST_LOG_LEVELしましallたが、これは効果がありません。Boost のログ レベル パラメーター ページからそのアイデアを得ましたが、ログの概念は実際に画面に表示されるものとは関係ないのではないかと思います。何か案は?