問題タブ [googletest]

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 に答える
5875 参照

unit-testing - グーグルテストでクラッシュをテスト

Google Testでは、次のようなことができるようにしたいと思います。

そして、ステートメントが実際にプロセスを異常に終了させたというエラーを出力に表示したいと思います。

Google Testでこれをサポートしていますか?自分でどのように実装するかはかなり確信しているので、ほぼ確実に可能です。

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

c++ - コンソールでのみ失敗したテストを表示するように gtest を構成する

失敗したテストのみを表示するオプションはありますか? これを実現するにはギターを使用するように切り替える必要がありましたが、コマンド ライン ツールが恋しいです。

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

unit-testing - googletest COleDateTime 値の印刷

MFC アプリケーションに googletest を統合しました。ただし、COleDateTime オブジェクトを含むテストを作成しているときに、次の警告に遭遇しました。

テストは次のとおりでした。

問題は、ドキュメントで発表されているように、 << 演算子または PrintTo メソッドを追加できないことです。より多くのテストに日付値が含まれる予定なので、ドキュメントが参照しているインライン ソリューションは避けたいと思います。

COleDateTime 値の印刷文字列を制御する良い解決策はありますか?

現在の出力は次のようになります。

実際の値に注意してください。

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

c++ - makefile.am は、一連のターゲットに対して LDADD を設定できますか?

ソースコードと同じディレクトリ内に単体テストを配置しました。しかし、これらすべての単体テストで特定のライブラリ (Google テストなど) を使用するために、Makefile.am で LDADD を設定するにはどうすればよいでしょうか?

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

c++ - Googleテストを使用してassert()によって引き起こされるランタイムエラーを抑制する方法は?

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

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

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

c++ - GoogleTest: ブレークポイントを設定するには?

私は、Visual Studio 2010 C++ と Google テストを使用しています。テスト プロジェクトを実行するために、テスト プロジェクトにビルド後のイベントがあります。これは機能し、Google テストのテスト結果がビジュアル スタジオの出力ウィンドウに表示されます。ただし、テストをステップ実行するデバッグ ブレークポイントを設定したいと思います。テスト コードまたは呼び出し元のコードにブレーク ポイントを設定しても、何も起こりません。

Google テストでブレークポイントを設定するにはどうすればよいですか? または、おそらくより正確に言えば、デバッガーをトリガーするにはどうすればよいですか?

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

c++ - C++、google test/mock: テストへのアサーションとオブジェクト型

私はこれを持っています(実際にはそうではありませんが、単なる例です):

関数の結果の型を確認する必要があります (ここでは意味がありません。私の例はもっと複雑です)、Google のテスト/モックはこの種のアサーションをサポートしていますか?

A< T > で EXPECT_THAT を試してみましたが、うまくいきません。

ありがとう。

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

c++ - Google テスト:「ワイド文字列から初期化された文字配列」

同じテスト ケースを複数のクラスに適用するために、型パラメーター化されたテスト (サンプル #6 ) を実装しました。signed char[]unsigned char[]const signed char[]またはのいずれかに文字列を代入すると、次のconst unsigned char[]ようになります。

さらに興味深いのは、テスト ケースを 1 つのタイプに適用するとすべて問題なく動作するのに、2 つ目のタイプを追加すると問題が発生することです。次のコードでエラーを再現できました。

typedef Types<std::istream, std::ostream> Implementations;で、 というタイプのリストが作成さImplementationsれ、次の行で、リストで定義されたタイプTYPED_TEST_CASE(IosTest, Implementations);にテスト ケースIosTestが適用されることが定義されImplementationsます。

すでに述べたように、リストからstd::istreamまたはを削除すると、警告なしでテストをコンパイルして実行できます (フラグを使用しています)。誰でもこの現象を説明できますか?std::ostreamImplementations-Wall

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

unit-testing - Google Test のカスタム EXPECT_NEAR マクロ

範囲: Google Test と OpenCV を使用。

Vec3fmyが another と等しいことをテストしたいと思いVec3fます。Vec3f次元 3 の OpenCV のベクトルであり、float 型です。==-operator が定義されているので、EXPECT_EQ(Vec3f(), Vec3f())機能します。

EXPECT_NEAR(float a, float b, float delta)でもフロートなのでマクロを使いたいです。のように使えるようにするにはどうすればよいEXPECT_NEAR(vec_a, vec_b, float delta)ですか?

現時点では、ベクトルの各要素をループして、そこで EXPECT_NEAR を実行しています。

これは関連している可能性があります:等しくない二重比較のための GoogleTest の便利なメソッド?

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

unit-testing - Scala でのより有益な assert

ASSERT_LT (a, b) のようものが $a が $b より小さいことを確認し、そうでない場合は $a と $b の値をエラーメッセージ。これまでに見つけたアサートは、デフォルトでは何も表示せずに実行を停止するだけです。ポインタはありますか?

おまけ: 私はアサーションを多用するコードを (テストだけでなく) 書くのが好きなので、アサーションをすばやく評価できるとよいでしょう。

コンテキスト:このコードをテンプレートとして使用して単体テストを作成しているときに、これに遭遇しました。