問題タブ [boost-test]
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.
c++ - Boost.Testライブラリを使用してゼロ例外による整数除算を処理するには?
Boost.Test を使用して、いくつかの古い C 数学ライブラリに対して単体テストを作成しています。テスト済みの関数の 1 つは、指定された入力に対して 0 による整数除算システム例外を発生させることが知られています。それが望ましい動作であり、この場合の否定的なテストを書きたいとしましょう。
BOOST_REQUIRE_THROW(statement, exception);
C++スタイルの例外ではないため、私にとっては機能しません(このマクロはtry {} catch {}
内部で使用されています)。
システム レベルで障害が発生することが予想される場合、ケースを処理する正しい方法は何ですか?
c++ - 各スイートのブースト テストの初期化 (ケースではない)
BOOST_AUTO_TEST_SUITE 内で「グローバル」ないくつかの変数を初期化する必要があるため、スイートの開始時にコンストラクターが呼び出され、最後の対応する BOOST_AUTO_TEST_CASE が終了した直後にデストラクタが呼び出されます。
誰かが私がそれを行う方法を知っていますか? グローバルフィクスチャは解決策ではないようです...
unit-testing - ブースト単体テスト - 利用可能なテストを一覧表示する
ブースト ユニット テスト フレームワークを使用して記述された、ユニット テストの実行を自動化するためのスクリプトをいくつか作成しました。すべてのテストのサブセットを選択して実行できる機能を追加したいと考えています。run_test 引数を使用してテストのサブセットを実行できることはわかっていますが、コンパイルされたバイナリにあるすべてのテスト、つまり run_test に渡すことができるすべての引数値を一覧表示する方法が見つかりません。利用可能なすべてのテストを抽出する方法はありますか? または、カスタム テスト ランナーを作成する必要がありますか? もしそうなら、どこから始めればよいですか?
c++ - 関数がブーストテスト関数で機能しません
クラスコンストラクターでこの関数を呼び出すことができる理由がわかりませんが、テスト関数で呼び出されると、次のようにエラーになります。
C++ファイル
.hファイル
私がやろうとしているのは、プロジェクトのプラグインエンジンを作成し、再利用できるようにすることです。C++ファイルは、正しく機能することを確認しています。
c++ - Boost.Test フレームワークを使用して static_assert の失敗を予測し、それに対処するにはどうすればよいですか?
base_of、または返される型と同じ型に変換できるテンプレート パラメーターを受け入れるメソッドがある場合、どうすればよいですか?
たとえば、次の方法を検討してください。
今、私はそれをBOOST_CHECKしたいと思います!
この BOOST_CHECK が正常にコンパイルされ、合格することも必要です。しかし、ユーザーコードが実際に次のようなことをしたときに、コンパイルに失敗することを望みます:
何か案が?
c++ - Boost.Testは、読み取り可能なエラーメッセージの代わりにゴミを吐き出します
Boost.Testを使用していますが、テストが失敗します。それは楽しいことですが、結果は恐ろしいものです。これはBoost.Testの出力です。
これが私の失敗したテストケースです:
ここで何が起こっているのか本当にわかりません。これらの奇妙で読めないエラーメッセージの原因は何でしょうか?Boostは私のコードが気に入らなかったのですか?Boostのインストールに何か問題がありますか?
locale - unsigned charを指定したBOOST_CHECK_EQUAL_COLLECTIONSは、不一致時に印刷できない文字を出力します
unsigned char
の出力フォーマットを変更する方法はありますBOOST_CHECK_EQUAL_COLLECTIONS
か?
Boost.Test 1.37.0を使用して、unsignedchar配列の値を検証しています。
不一致で印刷できない文字が表示されます。
一時的に配列に変更expected_message
して、unsigned
文字ではなく数字を出力するようにしました。同様にresult.Message
、新しい配列にコピーして、それとvector<unsigned>
比較することができます。
これはひどいことではありませんが、可能であればオリジナルと比較したいと思います。
内部的には、アクセスできないBOOST_CHECK_EQUAL_COLLECTIONS
一時的なものを使用していますが、フォーマットについて疑問に思いました。stringstream
ostream
unsigned char
ファセットやロケールを扱った経験はあまりありませんが、 ASCIIではなく数値として個々のを印刷するためにそれらを何らかの方法で使用できるかどうか疑問に思っています。
c++ - Boost::Testを使用したDLLのテストコマンドラインから
C ++でDLLを開発していて、 BoostTestLibrariesを使用してそのDLLの単体テストを実行したいと考えています。
ここで使えるものを見つけましたtest_runner.exe
。
入手方法はtest_runner.exe
?構築する必要のない方法や場所はありますboost
か?
BoostProダウンロードページからboost1.47をインストールしましたが、test_runner.exeがありません。
ありがとう。
c++ - init_unit_test_suite再定義エラー
私はboost::testチュートリアルから例をコンパイルしようとしています:
しかし、次のエラーが発生します。
.. \ src \ test.cpp:関数'boost :: unit_test :: test_suite * init_unit_test_suite(int、char **)':.. \ src \ test.cpp:23:1:エラー:'boostの再定義: :unit_test :: test_suite *
init_unit_test_suite(int、char **)'C:\ Boost / boost / test / unit_test_suite.hpp:223:1:エラー:' boost :: unit_test :: test_suite * init_unit_test_suite(int、char ** )'以前にここで定義された
これを修正する方法は?
c++ - boost::testと検証コードが実行されます
特定のコールバックが正確にN回実行された場合、(とりわけ)成功するテストがあります。もちろん、コールバックが実行された回数をカウントし、その条件に対してboost::testケースを実行するためのコードを少し書くことができます。しかし、これは非常に頻繁に発生しているので、boost::testでこれに対するサポートを見逃したのではないかと思います。
ヒントをありがとう。