問題タブ [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.
c++ - googlemock を使用してテスト中の関数の内部呼び出しをモックする
私は Google Mock を初めて使用し、ドキュメントとオンライン リソースの理解に基づいて、問題の解決策を特定できませんでした。
私は次のクラスを持っています:
現在、A::fun1() の Google テストを作成しようとしています。しかし、コードの構造 (すべての呼び出しはオブジェクトを介して行われ、モックなどを初期化できる基本クラスがないため、これを正常にモックできません。
これが現在の形式の Google Mock でモック可能かどうかを誰かが理解するのを手伝ってくれますか? 元のソース コードを変更することは許可されていないことに注意してください。
c++ - Google Mock が予想よりも少ない呼び出しを報告しない
Google テストを作成しました (Google Mock を使用)。関連するコードは次のとおりです。
実際の実装は次のとおりです。
基本的に、enqueue()
データのエントリごとに 1 回呼び出す必要があります。また、モックは通常のモックです (Strict などではありません)。
このテストは、予想どおり、 をチェックすると合格しTimes(2)
ます。
このテストは、予想どおり、Times(0)
またはをチェックすると失敗しますTimes(1)
。
しかし、私がチェックすると、このテストは合格ですTimes(3)
!
なんで?その動作を検出するにはどうすればよいですか?
c++ - gtest と gmock の違いは何ですか?
Google の C++ モッキング フレームワーク のgoogle-mock
目的を理解しようとしています。
私はすでにgtest
以前に働いていましたが、まだ何gmock
が理解できません。なぜそれが必要なのですか?
gtest
単体テストに使用されます。gmock
が必要な場合、そのためには何gmock
が必要ですunit testing
か?
unit-testing - (Google) DBUS インターフェイスをモックする方法は?
次のコードを持つクラスがあるとします
DBUS 呼び出しは名前空間にあるため、:: (私は信じています)。::dbus_* 呼び出しをモック/スタブ化する方法を誰かが提案できますか?
c++ - gmock 設定のデフォルト アクション / ON_CALL と EXPECT_CALL
ON_CALL と EXPECT_CALL を使用してデフォルト アクションを指定する場合の違いがわかりません。
これまでのところ、モックのデフォルト アクションを調整するには 2 つの方法があることに気付きました/学びました。
また
誰かが私に説明できますか:
- 2つの方法の違い
- それぞれの浮き沈み
- それらをいつ使用するのが適切ですか(どのようなセットアップ...)
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
visual-studio-2010 - gmock.LIB をインクルードした後、Visual Studio 2010 でコードが実行されない
以前はgtest
自分のプロジェクトに使用していました。当分の間、 とgmock
のパスを提供したときにgmock.lib
、gmock_mock.lib
とも使用してい..\..\include
ます。その後、コントロールはまったく入っていませんcode
。
以前は次のようだったとします。
.lib
とパスを追加した後、include
ストラトデバッグだけを実行することはまったくなく、どこにも行かずに終了します...
私を助けてください。
c++ - C++ 単体テストとサードパーティ C ライブラリのスタブ
サードパーティの C ライブラリを使用する、私が作成したいくつかの C++ オブジェクトを単体テストする必要があります。この質問の範囲を超える理由により、サードパーティの C ライブラリを直接呼び出すことができず、テスト スイート用にスタブする必要があります。
単体テスト スイートの他の部分では を使用していますが、ライブラリgooglemock
には使用できないと思います。C
ライブラリを手動でスタブ化することはできますが、そうしないことを好みます (一部には怠惰 (かなり大きい) が原因ですが、主に原則の問題にすぎないため)。
C
そこで質問です。ライブラリ ヘッダー ファイルに基づいてスタブ コードを生成するツールはありますか? スタブアウトされたコードができたら、それにマイナーな変更を加えてから、単体テスト用にリンクします。
c++ - googlemock を使用した const ポインタ パラメータのモックの副作用
単体テストに googlemock を使用しており、「out 配列パラメーター」を持つメソッドをモックしようとしています。
メソッド myFunc は、値を myVal 配列に格納することになっています。
この副作用をあざけるにはどうすればよいですか? 私は次のことを試しました:
私の意図は、myFunc の呼び出し元が値 1. と 2. を配列に受け取り、モック化されたメソッドに渡すことです。
ただし、このアプローチは機能しません。コンパイラは次のように言います。
配列の明示的な初期化子を指定できません
そのようなパラメーターの動作をモックする方法を知っている人はいますか?
ありがとうございました。
c++ - Google Mocks がこの関数呼び出しがあいまいだと判断するのはなぜですか?
Google Mocks の使用を開始しようとしているときに問題が発生しました - 何らかの理由でEXPECT_CALL
、型が一貫しているにもかかわらず、マクロで指定している呼び出しを認識できません。最初の関数と一致しない理由と、最初の関数と一致させるために何をする必要があるか、または追加する必要があるかを知りたいです。
モッククラス:
エラーをスローするテスト コード:
コンパイルエラー: