問題タブ [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.
testing - Googleモック-::testing:: An()を使用
次のGoogleモック宣言を使用しているときにコンパイルエラーが発生します。
エラーは次のとおりです。
私は何が間違っているのですか?
更新:
VS2010を使用しています。
someFunctionの宣言は次のとおりです。
An()は、次の定義を持つGoogleMockワイルドカードマッチャーです。
構造体の簡略化された代表的なバージョンは次のとおりです。
c++ - Googlemock:オブジェクト内の配列内の要素を検証する方法は?
私は小さなクラスを持っています:
そして、googlemock の期待値を使用して、ペイロードの最初の 2 つの要素のみを検証したいと考えています。ペイロードの長さと期待値が同じであることを確認するため、ElementsAreArray は使用できません。これまでのところ、次のような期待があります。
何か案は?モッククラスは次のようになります。
c++ - Google Mock: Return() 値のリスト
Google Mock の Return() を介して、モック関数が呼び出されたときに返される値を返すことができます。ただし、特定の関数が何度も呼び出されることが予想され、そのたびに異なる定義済みの値を返すようにしたい場合。
例えば:
aCertainFunction
毎回増加する整数を返すにはどうすればよいですか?
c++ - Google Mockは、デストラクタのモックされた関数への呼び出しをカウントしますか?
Google Mockは、テスト対象のオブジェクトのデストラクタで発生するモック関数への呼び出しをカウントしますか?
makefile - 期待されるすべてのライブラリを作成しないようにする
「googlemock」を作成しようとしていますが、取得しているライブラリはgmock_main.aの1つだけです。
gmock.aが作成されないのはなぜですか?4つの.oファイルが生成されます。
ありがとう、
バリー。
visual-studio-2010 - Visual Studio 2010 および MSTest (C++/CLI) での GoogleMock の問題
当社の製品は、以前は Visual Studio 2008 でビルドされ、GoogleMock 1.5.0 を使用していました。
製品をVisual Studio 2010に移植した後、GoogleMock を使用する単体テスト DLL は Visual Studio のテスト ビューに読み込まれず、結果として実行できなくなります。
当社の製品コードは、C++ DLL からエクスポートされたネイティブ C++ クラスで記述されています。
単体テストは C++/CLI で記述されているため、Visual Studio 内で直接ホストできます。C++/CLI ユニット テストはネイティブ C++ クラスを実行し、GoogleMocks は以前このシナリオで非常にうまく機能しました。
実行時にマルチスレッド DLL を使用する静的ライブラリに GoogleMock を組み込みます。すべての製品コードもマルチスレッド DLL を使用しています。
VS2010 内で再構築された GoogleMock 1.5 と 1.6 RC を試しました。しかし、GoogleMock の両方のバージョンで問題が発生します。
再現するには、次のようにします。
- 新しい C++ 単体テスト プロジェクトを作成する
- gmock.libとgmock_main.libをリンカ入力として追加
#include <gmock/gmock.h>
C++/CLI 単体テスト ヘッダー ファイルの先頭にあります。
プロジェクトは正常にビルドされますが、VS テスト ビューは新しい単体テスト DLL を読み込めません。インクルードをコメントアウトするgmock.h
と、DLL がテスト ビューに読み込まれ、そのテスト フィクスチャが実行されます。
別の VS2010 開発者がこの問題に遭遇し、修正を提案できることを願っています。
私のセットアップ:
- ウィンドウズ 7 x64
- Visual Studio 2010、サービス パック 1
- GoogleMock 1.5 または 1.6 RC
- 私たちのアプリは 32 ビット (Win32 および x86) としてビルドされています。
- GoogleMock を含むすべての C++ コードは、VS2010 の vc100 コンパイラを使用してコンパイルされています。当社の C++/CLI コードも .NET 4.0 用に構築されています。
ありがとう。
c++ - c ++ googlemocks:初期化されていない呼び出しのスタックトレースを取得する
モッククラスは次のようになります。structMockClass{MOCK_METHOD0(foo、void()); };
モックオブジェクトに期待される呼び出しを設定するのを忘れると、次のようになります。
スタックトレースは空です。
では、スタックトレースを取得するには、何をする必要がありますか?
dependency-injection - 依存性注入による C++ クラスのモック
クラスA
をテストしていて、 の依存性注入をB
持つ依存性注入があるとしC
ます。
だからあなたはモックしますB
が、それが持っている唯一のコンストラクターは の注入を必要とします。5 つの連続した依存関係がある場合はどうなりますか?C
C
C
B
A
代替手段は何ですか?
私はGoogle Mockを使用しているので、特定の回答も役立ちます。
googletest - Google Mock: 異なるパラメータを持つ同じ関数に対する複数の期待
特定のモック関数が、特定のパラメーターの異なる値で毎回呼び出されることが予想される場合を考えてみましょう。関数が実際に、特定の値のリスト (1,2,5 など) の値ごとに 1 回だけ呼び出されたことを検証したいと思います。
一方、特定の順序を決定するシーケンスを定義することは控えたいと思います。これは、私が自由に保ちたい実装の詳細です。
この場合、ある種のマッチャーまたは他の解決策はありますか?
これが何らかの形でソリューションに影響を与えるかどうかはわかりませんが、上記のリストの値ごとに異なる x で WillOnce(Return(x)) を使用するつもりです。