問題タブ [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.
c++ - Google テスト: 既存のテスト フィクスチャ クラスを使用するパラメータ化されたテスト?
現在多くのテストで使用されているテスト フィクスチャ クラスがあります。
既存のすべてのテストを変更する必要なく、MyFixtureTest が提供するすべてを使用するパラメーター化されたテストを作成したいと考えています。
それ、どうやったら出来るの?
Web で同様の議論を見つけましたが、その回答を完全には理解していません。
c++ - googletestを使用してパラメータ化されたテストにタイプ名と文字列を渡す
グーグルのテストを使用してパラメータ化されたテストにタイプと文字列の両方を渡す方法はありますか?
私がしたいのは:
前もって感謝します
c++ - 等しくないの二重比較のための GoogleTest の便利なメソッド?
ASSERT_DOUBLE_EQ の ASSERT_EQ / ASSERT_NE に似たものを探しています。
ASSERT_DOUBLE_NE を使わずにこれを行う簡単な方法を見逃しているのでしょうか?
c++ - Google Test Fixtures
GoogleTestFixturesがどのように機能するかを理解しようとしています。
次のコードがあるとします。
私がコンパイルするとき、なぜそれは言うのmyPhrase1
ですか?myPhrase2
TEST_F
c# - gtest (C++) と nunit (C#) での二重比較の違い
gtest テストを含む c++ プロジェクトを、nunit テストを含む ac# プロジェクトに移植しました。現在、浮動小数点の精度に問題があります。
nunitテストでは、私は大丈夫ではありません(赤)
私が持っているgtestテストで:
大丈夫です(緑)
今の質問はなぜですか???
visual-studio - Visual Studio と Google Test: 依存関係が変更されたときにテスト プロジェクトを強制的に再実行する
開発中のネイティブ C++ DLL 用のGoogle Testベースの単体テストのセットがあります。DLL は独自のプロジェクトにあり、テスト プロジェクトはそれに依存しています。テスト プロジェクトには、テストを実行するビルド後のイベント スクリプトがあります。
私の問題: テスト プロジェクトが再構築されるたびに、期待どおりにテストが実行されます。ただし、依存する DLL を変更しても、常にテスト プロジェクトが再構築されるとは限りません。具体的には、DLL のヘッダー ファイルがまったく変更されない場合、Visual Studio はテスト プロジェクトを再構築する必要がないと判断したようです。
DLL が再構築されるたびに、Visual Studio に強制的にテスト プロジェクトを再構築させたり、ビルド後のイベントを実行させたりする方法はありますか?
テスト プロジェクト内のファイルの 1 つを右クリックし、[コンパイル] メニュー項目を選択してビルドを実行することで、テストを強制的に再実行できます。手作業で忘れがちな手順をなくしたいと思います。
テスト プロジェクトに DLL プロジェクトのソース ファイルを含めれば、必要な結果が得られると思いますが、実際の DLL に対してテストを実行したいと思っています。
関連するが役に立たない質問: Visual Studio 2005 で Google C++ Testing Framework (gtest) をセットアップする方法
c++ - Google Test、Death Tests とは
その機能のドキュメントは、Google テストの概要機能にあり、
https ://github.com/google/googletest/blob/master/docs/advanced.md#death-tests で詳しく説明されているため、かなり重要なようです。
これらは標準のように見えますassert()
が、Google Test の一部であるため、xUnit テスト フレームワークです。したがって、それらの死のテストを使用することの実際の使用法または利点は何なのか疑問に思います。
c++ - Google テストでアサートをキャッチする方法は?
Google テスト フレームワークを使用して単体テストをプログラミングしています。しかし、いくつかのアサーションが適切に配置され、有用であるかどうかを確認したいと思います。Google テストでアサートをキャッチする方法はありますか?
テスト中のコード例:
そして、テスト:
ただしEXPECT_ANY_THROW
、アサートはキャッチせず、例外のみをキャッチします。アサーションをキャッチするソリューションを探しています。
c++ - googletestでstdout/stderrをキャプチャする方法は?
googletestフレームワークを使用しているときにstdoutとstderrをキャプチャすることは可能ですか?
たとえば、コンソール(stderr)にエラーを書き込む関数を呼び出したいと思います。ここで、テストで関数を呼び出すときに、出力が表示されないことを表明したいと思います。
または、エラーの動作をテストし、(意図的に)エラーを生成したときに特定の文字列が出力されることを表明したい場合があります。
c++ - C++ プログラムが予期せず終了します。これを gdb でデバッグするにはどうすればよいですか?
同僚が作成したコードに対していくつかの単体テストを実行するプログラムを作成しています。Google C++ テスト フレームワークを使用しています。3 つのスレッドを生成する関数を実行してから、30 秒間実行します。実行後、プログラムはステータス 0 で終了します。これは明らかに予期された動作ではありません。次の行に cout ステートメントを入れたので、これ以上先に進まないことはわかっています。
私の質問は、これをgdbでデバッグする最良の方法は何ですか? プログラムはセグメンテーション違反などを行わず、終了するだけなので難しいです。終了呼び出しをフックして、長いバックトレースを取得する方法はありますか?
ご協力ありがとうございました。
編集: