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

unit-testing - OutputStream をモックするときの Grails GMock エラー

私は、SFTP サービスをテストできるモック フレームワークを起動して実行するのに非常に苦労しました。EasyMock、PowerMock、JMockit には慣れていましたが、最終的に GMock に行き着きました。test ('org.gmock:gmock:0.8.2') { excludes 'junit' }

ハッピー パス テストが正常に実行されたので、再試行ロジックを作成してから、失敗シナリオを作成します。私は今、2つの問題に直面しています。Grails と GMock のほとんどすべてがまばらに文書化されているため、これらの解決策を見つけることができないようです。

テスト中のメソッド:このブログの SFTP を JCraft の JSch の例で使用しており、ニーズに合わせて少し拡張しました。接続用の資格情報とファイル名を取得します。FileOutputStream を作成し、SFTP サーバーに接続します。例外が発生した場合は、n 回再試行します (ここでは SO の目的で簡略化しています)。

したがって、これはブログのメソッドと連携して機能します。ハッピー パスのシナリオを書き、GMock で動作するようにしました。

エラー 1 : 次に、単純なコピー/貼り付けを行い、テスト メソッド名以外を変更しなかったため、次のエラーが発生しました。

そしてこれがしばらく続きます。

エラー 2:次に、ハッピー パスをコメント アウトして、再試行シナリオを実行することにしました。だから私はどこでも .times(2) を使用しようとしましたが、コンストラクターの .times(2) が好きではありませんでした。そうしないと、再試行によってすべてが閉じられ、再試行時に再インスタンス化されるため、コンストラクターが 2 回呼び出されるため、エラーが発生します。

次に、失敗するまでのすべての 2 つのモックを作成しようとしましたが、2 番目の FileOutputStream モックの構築中に何らかの NPE がスローされました。ファイルで比較を行っているようです。

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

c++ - Gmock を使用したパラメーター化されたコンストラクターのモック

モックするクラスがありますが、デフォルトのコンストラクターがありません。ソースコードを変更できないため、Gmock を使用してパラメーター化されたコンストラクターをモックする方法はありますか

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

c++ - GMOCK を使用してプライベート コンストラクターを持つクラスをモックする

プライベート Ctor、Dtor、および 1 つの getInstance() メソッドを持つ Singleton クラスがあります。

GMOCK を使用してこのクラスをモックする必要があります。それを嘲笑する方法はありますか。

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

c++ - GMOCKを使用してc ++で新しい演算子をモックする

GMOCK を使用して C++ で新しい演算子またはオーバーロードされた新しい演算子をモックする方法はありますか。例:

ここでは、ptr がモック関数を呼び出す必要がありますが、ptr は new を使用してメモリを取得しているため、ここで new をモックするためにできることはありますか。

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

gmock - エラーを生成する非仮想メソッドのモック

Google Mocks のコツをつかもうとしていますが、非仮想メソッドをモックしようとして問題が発生しました。モックしたい Socket クラスがあります。引数を取る「書き込み」と呼ばれる非仮想メソッドがあります。

そこで、指定されたクック ブックとして Mock クラスを作成します。

しかし、これはコンパイルされません。次のエラーが生成されます。

誰かが理由を教えてもらえますか??

ありがとう。

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

c++ - 互いに呼び出すときに同じクラスの関数を gmock する方法

ここにケースがあるとします:

ここで、func1() を単体テストし、func2() と func3() をモックします。

func1() が mock-func2() と mock-func3() を呼び出し、実際の func2() と func3() を呼び出さないことを知っている間に、func2() と func3() をモックすることは可能ですか?

ちなみに私は Class Factory を使ってクラスを初期化しているので、実際のケースはもう少し複雑かもしれません

ありがとう〜