問題タブ [googlemock]

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

c++ - googlemock を使用してテスト中の関数の内部呼び出しをモックする

私は Google Mock を初めて使用し、ドキュメントとオンライン リソースの理解に基づいて、問題の解決策を特定できませんでした。

私は次のクラスを持っています:

現在、A::fun1() の Google テストを作成しようとしています。しかし、コードの構造 (すべての呼び出しはオブジェクトを介して行われ、モックなどを初期化できる基本クラスがないため、これを正常にモックできません。

これが現在の形式の Google Mock でモック可能かどうかを誰かが理解するのを手伝ってくれますか? 元のソース コードを変更することは許可されていないことに注意してください。

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

c++ - Google Mock が予想よりも少ない呼び出しを報告しない

Google テストを作成しました (Google Mock を使用)。関連するコードは次のとおりです。

実際の実装は次のとおりです。

基本的に、enqueue()データのエントリごとに 1 回呼び出す必要があります。また、モックは通常のモックです (Strict などではありません)。

このテストは、予想どおり、 をチェックすると合格しTimes(2)ます。

このテストは、予想どおり、Times(0)またはをチェックすると失敗しますTimes(1)

しかし、私がチェックすると、このテストは合格ですTimes(3)

なんで?その動作を検出するにはどうすればよいですか?

0 投票する
4 に答える
40591 参照

c++ - gtest と gmock の違いは何ですか?

Google の C++ モッキング フレームワーク のgoogle-mock目的を理解しようとしています。

私はすでにgtest以前に働いていましたが、まだ何gmockが理解できません。なぜそれが必要なのですか?

gtest単体テストに使用されます。gmockが必要な場合、そのためには何gmockが必要ですunit testingか?

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

unit-testing - (Google) DBUS インターフェイスをモックする方法は?

次のコードを持つクラスがあるとします

DBUS 呼び出しは名前空間にあるため、:: (私は信じています)。::dbus_* 呼び出しをモック/スタブ化する方法を誰かが提案できますか?

0 投票する
5 に答える
106831 参照

c++ - gmock 設定のデフォルト アクション / ON_CALL と EXPECT_CALL

ON_CALL と EXPECT_CALL を使用してデフォルト アクションを指定する場合の違いがわかりません。

これまでのところ、モックのデフォルト アクションを調整するには 2 つの方法があることに気付きました/学びました。

また

誰かが私に説明できますか:

  • 2つの方法の違い
  • それぞれの浮き沈み
  • それらをいつ使用するのが適切ですか(どのようなセットアップ...)
0 投票する
2 に答える
20243 参照

c++ - googlemock の EXPECT_CALL は、「unknown file:error: SEH exception with code 0xc0000005 throw in the test body」につながります

私はgooglemockの初心者です。私の現在のプロジェクトでは、googlemock を使用する必要があります。Google ヘルプ サイトから gmock の基本を学びました。しかし、プロジェクトに同じものを実装しようとすると、SEH exception with code 0xc0000005エラーが発生しました。私のプロジェクトには複数のスレッドがあり、そのうちの 1 つが RUN_ALL_TESTS を呼び出します。上記のコードは、SEH exception

ツール: VS2010、Windows 7

Try to mock the function of a class

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

visual-studio-2010 - gmock.LIB をインクルードした後、Visual Studio 2010 でコードが実行されない

以前はgtest自分のプロジェクトに使用していました。当分の間、 とgmockのパスを提供したときにgmock.libgmock_mock.libとも使用してい..\..\includeます。その後、コントロールはまったく入っていませんcode

以前は次のようだったとします。

.libとパスを追加した後、includeストラトデバッグだけを実行することはまったくなく、どこにも行かずに終了します...

私を助けてください。

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

c++ - C++ 単体テストとサードパーティ C ライブラリのスタブ

サードパーティの C ライブラリを使用する、私が作成したいくつかの C++ オブジェクトを単体テストする必要があります。この質問の範囲を超える理由により、サードパーティの C ライブラリを直接呼び出すことができず、テスト スイート用にスタブする必要があります。

単体テスト スイートの他の部分では を使用していますが、ライブラリgooglemockには使用できないと思います。Cライブラリを手動でスタブ化することはできますが、そうしないことを好みます (一部には怠惰 (かなり大きい) が原因ですが、主に原則の問題にすぎないため)。

Cそこで質問です。ライブラリ ヘッダー ファイルに基づいてスタブ コードを生成するツールはありますか? スタブアウトされたコードができたら、それにマイナーな変更を加えてから、単体テスト用にリンクします。

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

c++ - googlemock を使用した const ポインタ パラメータのモックの副作用

単体テストに googlemock を使用しており、「out 配列パラメーター」を持つメソッドをモックしようとしています。

メソッド myFunc は、値を myVal 配列に格納することになっています。

この副作用をあざけるにはどうすればよいですか? 私は次のことを試しました:

私の意図は、myFunc の呼び出し元が値 1. と 2. を配列に受け取り、モック化されたメソッドに渡すことです。

ただし、このアプローチは機能しません。コンパイラは次のように言います。

配列の明示的な初期化子を指定できません

そのようなパラメーターの動作をモックする方法を知っている人はいますか?

ありがとうございました。

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

c++ - Google Mocks がこの関数呼び出しがあいまいだと判断するのはなぜですか?

Google Mocks の使用を開始しようとしているときに問題が発生しました - 何らかの理由でEXPECT_CALL、型が一貫しているにもかかわらず、マクロで指定している呼び出しを認識できません。最初の関数と一致しない理由と、最初の関数と一致させるために何をする必要があるか、または追加する必要があるかを知りたいです。

モッククラス:

エラーをスローするテスト コード:

コンパイルエラー: