問題タブ [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 投票する
2 に答える
13717 参照

googletest - Google Mock: 異なるパラメータを持つ同じ関数に対する複数の期待

特定のモック関数が、特定のパラメーターの異なる値で毎回呼び出されることが予想される場合を考えてみましょう。関数が実際に、特定の値のリスト (1,2,5 など) の値ごとに 1 回だけ呼び出されたことを検証したいと思います。

一方、特定の順序を決定するシーケンスを定義することは控えたいと思います。これは、私が自由に保ちたい実装の詳細です。

この場合、ある種のマッチャーまたは他の解決策はありますか?

これが何らかの形でソリューションに影響を与えるかどうかはわかりませんが、上記のリストの値ごとに異なる x で WillOnce(Return(x)) を使用するつもりです。

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

c++ - インライン関数の gtest 問題

こんにちは、インライン関数が含まれています。Google テストでこのクラスをテストしようとすると、次のようなエラーが発生します。

たとえば、私のクラス(ヘッダーファイル)

私のクラス(cppファイル)

テスト:

私は何をする必要がありますか?マニュアルを読みましたが、このエラーを解決する方法がわかりません。

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

c++ - CMakeでGoogleC++テストフレームワークを使用する最も簡単な例

私は非常に単純なC++ライブラリ(1つのヘッダーファイル、1つの.cppファイル)を持っています。GoogleC++テストフレームワークを使用してこのプロジェクトの単体テストを作成したいと思います。

ディレクトリ構造は次のとおりです。

私は自分のmain()関数を書くつもりはありません。入門書に記載されているように、gtest_mainとリンクしたいと思います。CMakeLists.txtには何を含める必要がありますか?

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

c++ - コードで Google Test が実行されているかどうかを確認する方法

単体テストの対象である場合、実行したくないコードのセクションがあります。私がチェックできるgtestライブラリによって設定された#definedフラグを見つけたいと思っていました。その目的で使用されているものは見つかりませんでしたが、gtest ヘッダーを調べたところ、次のように使用できると思われるものを見つけました。

すべてのコードが関係なく実行されるため、これは機能しないようです。動作する可能性があることを確認できる別のフラグはありますか?

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

googletest - GoogleTest for C++ を使用した関数名の呼び出しに制限はありますか?

Google Test を使用して関数を呼び出す場合、アンダースコアやその他の特殊文字を使用できないなどの制限はありますか?

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

c++ - Google テスト exec ファイルを作成するための autotools の処理方法は?

autotoolsを使用したすべての Google テストを含むテスト実行可能ファイルの生成に失敗しています。

私たちの開発プロジェクトは非常に大きく、いくつかのモジュールが含まれています。したがって、私が望むのは、各モジュールでテスト lib/object ファイルを作成し、これらをまとめて 1 つのテスト exec ファイルを作成することです (実際には を介し​​てmake test) 。

この Makefile.am はコンパイルされますが、テストは実行されません: (テストは自動登録されず、0 テストで実行されます)

もちろん、これは機能します(ただし、私が望むものではありません):

両者の本当の違いは何ですか?これらのテストを自分のプロジェクトで機能させるにはどうすればよいですか?

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

c++ - GoogleTest を使用したコンストラクターの Death Testing

ASSERT_EXIT オブジェクトの作成中にセグ フォールトが発生し、次のような不適切なパラメーターでカスタム例外がスローされます。

作成されるクラスは次のようになります。

カスタム例外は次のようになります。

回避策またはより良いアプローチはありますか?

ありがとう

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

performance - テストデータをgoogletestおよびJenkinsと比較/傾向分析

私のC++プロジェクトは、googletestを使用して、 JenkinsのJUnit形式でXML結果を生成します。これは、合格/不合格の結果とテスト期間でうまく機能しています。

私のテストのいくつかは、コードのパフォーマンスを測定し、これがあるしきい値を超えていると主張しています。これを拡張して、連続するビルドのパフォーマンスデータをグラフ化したいと思います。googletestRecordPropertyメソッドを使用して、XMLに追加情報を記録します。

Jenkinsまたはそのプラグインの1つを構成しPerformanceDataて、連続するビルド間でチャート(または同等のレコード)を作成するにはどうすればよいですか?

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

c++ - cmake <-> make と単体テスト: 明示的に指定しない限りコンパイルされないターゲットの作成

モジュールで gtest を使用して単体テストを構築したいと考えています。各モジュールは、多くの場合、複数のテスト可能なユニットのコレクションです。モジュールの開発中に、一度に単体テストを作成し、終了したら、それらをモジュール全体の 1 つの単体テストに連結します。

したがって、いくつかの例では、各テストは次のようになります。

そして、テストを連結するファイルは次のようになります

そのため、生成された make ビルドを取得して、名前が付けられた場合にのみ個々のテストをビルドし、個々のテストを「すべて」のターゲットに含めないようにしたいと考えています。モジュール単体テスト ビルド全体が all ターゲットにある必要があります。

make all単一のテストを冗長にコンパイルしたくありません。