5

C++ プロジェクトで Google テストを使用しています。一部の関数は、無効な入力パラメーターをチェックするために assert() を使用します。私はすでに Death-Tests ( What are Google Test, Death Tests ) について読み、テスト ケースでそれらを使い始めました。

ただし、アサーションの失敗による実行時エラーを抑制する方法はあるのでしょうか。この時点で、アサーションが失敗するたびにポップアップ ウィンドウが作成され、テストを実行するたびに閉じる必要があります。私のプロジェクトが成長するにつれて、この動作はますます受け入れられない方法でワークフローを乱し、私は assert()-asserts をテストしなくなる傾向があります。一般的にアサーションを無効にする可能性があることは知っていますが、OS が生成する警告をテスト フレームワーク内から抑制する方が便利なようです。

4

1 に答える 1

2

わかりました、私は自分で解決策を見つけました: test-style を選択する必要がありますthreadsafe。テスト コードに次の行を追加するだけです。

::testing::FLAGS_gtest_death_test_style = "threadsafe";

これは、test-binary 内のすべてのテストに対して行うことも、影響を受けるテストに対してのみ行うこともできます。後者の方が高速です。更新された FAQ からこれを取得しました: Googletest AdvancedGuide

于 2012-11-06T14:52:25.920 に答える