問題タブ [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.

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

c++ - Boost.Testを使用して例外が予期されることをどのように指定しますか?

テスト対象のオブジェクトに例外をスローさせるBoostユニットテストケースがあります(これがテストであり、例外が発生します)。その特定の例外を予期するようにテストで指定するにはどうすればよいですか。

BOOST_AUTO_TEST_CASE_EXPECTED_FAILURESを使用して、テストに特定の数の失敗があることを指定できますが、それはかなり不特定のようです。テストの特定の時点で、例外をスローする必要があり、失敗としてカウントしないようにする必要があると言えるようにしたいと思います。

0 投票する
10 に答える
310488 参照

c++ - C++ 単体テスト フレームワークの比較

C++ 単体テスト フレームワークの推奨事項に関して既にいくつかの質問があることは知っていますが、フレームワークの 1 つを推奨するだけで、(機能) 比較に関する情報を提供していないため、すべての回答は役に立ちませんでした。

最も興味深いフレームワークは、CppUnit、Boost、および新しい Google テスト フレームワークだと思います。誰もまだ比較をしたことがありますか?

0 投票する
6 に答える
11824 参照

c++ - Boost Test フレームワークでの assert のテスト

Boost Test フレームワークを使用して C++ コードの単体テストを行っていますが、関数がアサートするかどうかをテストできるかどうか疑問に思っています。はい、少し奇妙に聞こえますが、ご了承ください。私の関数の多くは、エントリ時に入力パラメーターをチェックし、それらが無効かどうかをアサートします。これをテストすると便利です。例えば:

私はこのようなことができるようにしたいと思います:

Boost Testを使用してスローされている例外を確認できるので、assertマジックもあるのだろうか...

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

c++ - Boost.Spirit の単体テスト

Boost.Spirit と Boost.Test は初めてなので、文法の正確性をどのように検証しているか知りたいです。以下は、現時点で私が行っている方法の簡略化されたバージョンであり、より良い方法があると確信しています。

各テスト ケースには、解析するテキストと、セミコロンで区切られた期待される結果を含む 2 つの文字列のペアがあります。

解析関数は実際の解析を行い、期待される結果と等しい文字列を返します。

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

c++ - boost::test の CppUnit プロテクターと同等ですか?

と の両方を C++ 単体テストに使用CppUnitboost::testました。boost::test主に、自動テスト マクロがテストをセットアップする労力を最小限に抑えるためです。しかし、私が本当に見逃していることが 1 つありCppUnitます。それは、実行されたすべてのテストを自動的にラップするインスタンスである、独自の「プロテクター」を登録する機能です。(技術的には、テスト「リスナー」をインストールすると、各テストをプロテクタースコープにラップできます)。

私は過去に、ユニットテストの予期しない副作用を監視するために、これらが非常に貴重であることを発見しました (たとえば、コードをチェックしても浮動小数点のユニット状態フラグが変更されていないなど)。boost::test おそらく最も近いかもしれませんが、ドキュメンテーションには同等のものはありBOOST_FIXTURE_TEST_CASEません。

で CppUnit のプロテクターと同じことを達成するための最良の方法について何か提案はありboost::testますか?

boost::test(の実装についてはまだ詳しく調べていませんが、そのようなものであればCppUnit、プロテクター自体に非常によく似たものを使用する必要があります)。

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

c++ - Boost :: Test-Main()の生成?

ブーストテストライブラリの設定について少し混乱しています。これが私のコードです:

私のコンパイラは、非常に便利なエラーメッセージを生成します。

BOOST_TEST_MODULEBoost :: Testライブラリはmain()関数を生成していないようです-定義されているときはいつでもこれを実行するという印象を受けました。しかし...リンカーエラーは続きます。

何か案は?

ビリー3

編集:以下の正解で説明されているバグを回避するための私のコードは次のとおりです。

それが誰かに役立つことを願っています。

ビリー3

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

c++ - アプリケーションで奇妙な実行エラー

私が書いている単体テストには、ある種のポインターの問題があるようです。基本的には、一度構築されるとファイルに関する情報を返すクラスをテストしています。予想されるすべてのファイルが検出された場合、テストは正しく動作します。検出されたよりも多くのファイルが予想される場合、ルーチンはエラーを正しく報告します。しかし、予想よりも多くのファイルが検出された場合、実行可能ファイルはクラッシュします。デバッガーでステップスルーしようとすると、現在のコードポイントがメソッド全体にジャンプするため、これを追跡するのは困難でした.

私が間違っていることについてのアイデアはありますか?

これが私のコードです:

ありがとう!

ビリー3

代わりに次のコードを使用して問題を解決しました。

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

c++ - ブーストテストアプリケーションの初期化

新しいアプリケーションを使用した一般的なブーストテストと単体テストについて説明しているところですが、アプリケーションの初期化を処理する方法がわかりません(たとえば、構成ファイルの読み込み、データベースへの接続、組み込みのPythonインタープリターの起動など)。 。

この初期化プロセスをテストしたいと思います。また、アプリケーション内の他のほとんどのモジュールでは、初期化が正常に行われたことが必要です。

シャットダウンコードを実行する方法もありがたいです。

どうすればこれを行うことができますか?