問題タブ [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.
unit-testing - グーグルテストでクラッシュをテスト
Google Testでは、次のようなことができるようにしたいと思います。
そして、ステートメントが実際にプロセスを異常に終了させたというエラーを出力に表示したいと思います。
Google Testでこれをサポートしていますか?自分でどのように実装するかはかなり確信しているので、ほぼ確実に可能です。
c++ - コンソールでのみ失敗したテストを表示するように gtest を構成する
失敗したテストのみを表示するオプションはありますか? これを実現するにはギターを使用するように切り替える必要がありましたが、コマンド ライン ツールが恋しいです。
unit-testing - googletest COleDateTime 値の印刷
MFC アプリケーションに googletest を統合しました。ただし、COleDateTime オブジェクトを含むテストを作成しているときに、次の警告に遭遇しました。
テストは次のとおりでした。
問題は、ドキュメントで発表されているように、 << 演算子または PrintTo メソッドを追加できないことです。より多くのテストに日付値が含まれる予定なので、ドキュメントが参照しているインライン ソリューションは避けたいと思います。
COleDateTime 値の印刷文字列を制御する良い解決策はありますか?
現在の出力は次のようになります。
実際の値に注意してください。
c++ - makefile.am は、一連のターゲットに対して LDADD を設定できますか?
ソースコードと同じディレクトリ内に単体テストを配置しました。しかし、これらすべての単体テストで特定のライブラリ (Google テストなど) を使用するために、Makefile.am で LDADD を設定するにはどうすればよいでしょうか?
c++ - Googleテストを使用してassert()によって引き起こされるランタイムエラーを抑制する方法は?
C++ プロジェクトで Google テストを使用しています。一部の関数は、無効な入力パラメーターをチェックするために assert() を使用します。私はすでに Death-Tests ( What are Google Test, Death Tests ) について読み、テスト ケースでそれらを使い始めました。
ただし、アサーションの失敗による実行時エラーを抑制する方法はあるのでしょうか。この時点で、アサーションが失敗するたびにポップアップ ウィンドウが作成され、テストを実行するたびに閉じる必要があります。私のプロジェクトが成長するにつれて、この動作はますます受け入れられない方法でワークフローを乱し、私は assert()-asserts をテストしなくなる傾向があります。一般的にアサーションを無効にする可能性があることは知っていますが、OS が生成する警告をテスト フレームワーク内から抑制する方が便利なようです。
c++ - GoogleTest: ブレークポイントを設定するには?
私は、Visual Studio 2010 C++ と Google テストを使用しています。テスト プロジェクトを実行するために、テスト プロジェクトにビルド後のイベントがあります。これは機能し、Google テストのテスト結果がビジュアル スタジオの出力ウィンドウに表示されます。ただし、テストをステップ実行するデバッグ ブレークポイントを設定したいと思います。テスト コードまたは呼び出し元のコードにブレーク ポイントを設定しても、何も起こりません。
Google テストでブレークポイントを設定するにはどうすればよいですか? または、おそらくより正確に言えば、デバッガーをトリガーするにはどうすればよいですか?
c++ - C++、google test/mock: テストへのアサーションとオブジェクト型
私はこれを持っています(実際にはそうではありませんが、単なる例です):
関数の結果の型を確認する必要があります (ここでは意味がありません。私の例はもっと複雑です)、Google のテスト/モックはこの種のアサーションをサポートしていますか?
A< T > で EXPECT_THAT を試してみましたが、うまくいきません。
ありがとう。
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::ostream
Implementations
-Wall
unit-testing - Google Test のカスタム EXPECT_NEAR マクロ
範囲: Google Test と OpenCV を使用。
Vec3f
myが 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 の便利なメソッド?
unit-testing - Scala でのより有益な assert
ASSERT_LT (a, b) のようなものが $a が $b より小さいことを確認し、そうでない場合は $a と $b の値をエラーメッセージ。これまでに見つけたアサートは、デフォルトでは何も表示せずに実行を停止するだけです。ポインタはありますか?
おまけ: 私はアサーションを多用するコードを (テストだけでなく) 書くのが好きなので、アサーションをすばやく評価できるとよいでしょう。
コンテキスト:このコードをテンプレートとして使用して単体テストを作成しているときに、これに遭遇しました。