問題タブ [gmock]

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 投票する
3 に答える
1381 参照

java - gmockはJavaクラスの静的メソッドをモックできますか?別?

私はそれを動かすことができませんでした。メソッドがモックされていないようです。

静的Javaメソッドをモックするのに適した代替のGroovyテストフレームワークはありますか?

2011年3月2日更新:コードの追加:

私は実際にScalaXML.loadXml(ユニットテストのためにGroovyを試しています)クラスをモックしようとしています:

これは私のテストケースです:

gmockとmetaClassの両方を使用してテストしてみました。

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

c++ - gmock : 失敗する可能性のあるカスタム チェックを行う

単体テストで Google モック ライブラリを使用していますが、失敗する可能性のあるカスタム チェックを実行しようとしています。

次の例は、私がやろうとしていることを示しています:

ここで、偽のオブジェクトが Send メソッドで Derived 型のオブジェクトと値 a を渡されたかどうかを確認したいと思います。それで、それを行う方法は?

私の考えは、Invoke を使用して、base から Derived に dynamic_cast する関数への呼び出しを転送し、値を確認することです。型が予期されていない場合は、例外をスローします。このような :

次に、次のようにテストします。

これはうまくいきますか?それとももっと良い方法がありますか?

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

c++ - TestPlugInRunnerd.exe + gmock

cppunit ユニットテストを dll としてビルドし、それを TestPlugInRunnerd.exe にロードして結果を表示します。私たちは独自のモックを作成していますが、gmock などのモック フレームワークの使用を開始したいと考えています。

私は gmock をダウンロードし、問題なくリンクしました。gmock を使用してモックを作成しましたが、正常にコンパイルされます。しかし、その後、gmock faq で次のことを読みました。

私は明らかにメインを持っていません。gmock を dll で動作させるにはどうすればよいですか? gmock の代替品を検討する必要がありますか?

ありがとう、

バリー

0 投票する
3 に答える
3951 参照

c++ - googlemockを使用しているときに、C++のインターフェイスですべてのメソッドをモックしないで済ませることはできますか?

私はGoogleMock1.6 RCを使用していて、モックを作成しようとしていCOM Interfaceます。COMインターフェイスには50近くのメソッドがあり、そのうちのいくつかはベースインターフェイスから継承されます。structこのインターフェイスから継承するモックを作成し、使用しているメソッドのみをモックすると、cannot instantiate abstract classエラーが発生します。

googlemockでこれができるかどうか知りたいです。

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

c++ - モッククラスはgooglemockの別のモッククラスから継承できますか?

モッククラスはgooglemockの別のモッククラスから継承できますか? はいの場合、なぜこれが機能しないのかを理解するのを手伝ってください。

cannot instantiate abstract classコンパイラ エラーが表示されるが、MockB対象ではないMockA

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

c++ - boost::bind で Google Mock を使用する

コンストラクターが Boost 関数を受け取るクラスがあり、それを Google Mock でテストしたいと考えています。次のコードは、サンプル クラスとそれをテストする試みを示しています。

MyClass.h:

MyClassTest.cpp:

Visual Studio 2008 で MyClassTest.cpp をコンパイルしようとすると、次のエラーが発生します。

...gmock/gmock-generated-function-mockers.h(76): エラー C2248: 'testing::internal::FunctionMockerBase::FunctionMockerBase': クラス 'testing::internal::FunctionMockerBase' で宣言されたプライベート メンバーにアクセスできません1> with 1> [ 1>
F=void (void) 1> ] 1>
.../gmock-spec-builders.h(1656) : 「testing::internal::FunctionMockerBase::FunctionMockerBase」の宣言を参照 1 > with 1> [ 1>
F=void (void) 1> ] 1>
この診断は、コンパイラによって生成された関数 'testing::internal::FunctionMocker::FunctionMocker(const testing::internal::FunctionMocker &)' 1 で発生しました。 > with 1> [ 1>
Function=void (void) 1> ]

エラーは、boost::bind を含む行に起因します。モック化されたメソッドを void callback(){} に置き換えると、コンパイル エラーがなくなります (ただし、Google Mock の使用もなくなり、目的に反します)。テストされたクラスを変更せずに、私がやろうとしていることは可能ですか?

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

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

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

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

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

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

0 投票する
3 に答える
28400 参照

c++ - 非仮想メソッドC++(gmock)のモック

授業がある

MethodA()仮想化せずにモックする方法を教えてください、私はhi-perf依存性注入の概念を理解していませんでした

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

c++ - 非仮想メソッドを持つクラスの GMock およびモック コンストラクター

非仮想メソッドのみを持つクラスをモックする必要があります。このクラスにはコピー コンストラクターがあります。そのためのモックメソッドの書き方。をそのまま使用すると、コンパイラ エラーが発生します。

前もって感謝します。

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

googletest - 同じクラスのメソッドとモック

私は2つのメソッドを持つクラスを持っています

FunRet が返すものに応じて Fun() メソッドをテストしたい。だから私は FunRet をモックしたいです。私は FunRet を仮想にしたくありません。どうすればそれができますか?