問題タブ [hippomocks]
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++ - Hippomock の MockRepository::BasicRegisterExpect の NotImplementedException
Hippomock を使用して期待値を登録しようとしているときに、 の次の行で例外が発生しMockRepository::ExpectCall
ましたが、これは確かに理解できません。NotImplementedException
MockRepository::BasicRegisterExpect
残念ながら、単純な例を使用して例外を再現することはできません。
したがって、私の「簡単な」質問:
- 呼び出しを期待しているときに、この例外が発生するのはどのような場合ですか?
- このコード行は正確に何をテストしますか?
unit-testing - Hippomock の既存の MockRepository::ClassMock に相当するもの
Hippomocks の公式バージョン 3.1 ( https://www.assembla.com/spaces/hippomocks/wiki/Home ) には、モックされたMockRepository::ClassMock
オブジェクトを構築する (MockRepository::InterfaceMock
そうでないのとは対照的に) があり、これは対処するときに非常に役立ちます。非仮想クラス メソッドを使用します。
現在のバージョンは、私の意見でMockRepository::Mock
は何をしたかを行います。MockRepository::InterfaceMock
現在のバージョンでモック オブジェクトを構築する可能性はありますか?
バージョン 3.1 を使用しない理由: 後で導入されたクラスに属さない関数をテストするには、非常に便利な ExpectCallFunc も必要です。
プレースメント new を使用しない理由: プレースメント new は、ヒッポモックによってモックされた後にオブジェクトを構築し、ヒッポモックによって以前に変更された仮想関数テーブルを「リセット」します。
c++ - HippoMock : クラスの一部だけをモックする
HippoMock を使用して、クラスの一部だけをモックできるかどうかを知りたいです。
例
メソッド2をテストするために、メソッド1だけをモックしたいと思います
明らかに私は HippoMock を使用しており、method2 にバグがあるため、それを修正して再発しないことを確認するために単体テストを行いました。しかし、私はそれを行う方法を見つけられません。
私はこれを試します
ネイティブ cpp に解決策はありますか? 他のモックフレームワークで?
どうもありがとう
アンブロワーズ・プティジュネ
c++ - 引数がラムダの場合、コンパイルに失敗しました。【カバを使って】
ヒッポモックで単体テストを書きましたが、コンパイル中にエラーが発生しました。
コンパイラは VS 2010 です。
どうすれば修正できますか?
出力は次のとおりです。
c++ - ヒッポモックのように無料の関数呼び出しをインターセプトする方法は?
exit
たとえば、次のコードに示すように、呼び出し関数をインターセプトするためにヒッポモックが何をするのか疑問に思っています。
c++ - HippoMock は常に NotImplemented をスローします
上記のインターフェイスを利用するクラスで使用するために、HippoMock を使用してインターフェイスをモックしようとしています。モック オブジェクトを作成し、ExceptCallOverload をセットアップすると、すべて正常にコンパイルされます。ただし、私がテストしているクラスは、mock::NotImplemented 関数を呼び出すモック オブジェクトを呼び出します。
また、私がモックしているルーチンはインターフェイスへの参照を受け入れますが、渡されるオブジェクトは shared_ptr に格納されます。wall .With で shared_ptr オブジェクトを渡すと、comparer::compare can't match template parameters というエラーが表示されますが、これは理解できます。したがって、インターフェイスへの参照を渡すだけでは、ピュア仮想クラスをインスタンス化できませんというエラーが表示されます。
これは、HippoMark の使用に関して、岩と難しい場所の間に私を置いているように感じます.
小さな例:
c++ - Hippomock の Expect 呼び出し関数の引数のテンプレート関数
分離したいのですwriteMemory
が、次のエラーのために分離できません:
../../Util/UnitTest++/../../UnitTests/KeeperDive_Test.h:66:57: エラー: 期待される式 mocks.ExpectCall(Skillmock, Skill::writeMemory).With(template (Skillmock));
hippomocks - ヒッポモックはクラスインスタンスでの呼び出しを期待しています
"with" 部分のパラメーターの 1 つとしてクラス インスタンスまたは構造体インスタンスを使用して、expect 呼び出しを設定するにはどうすればよいですか? ドキュメントには、その方法が示されていないようです。文字列や整数などの単純な引数を使用していますが、クラス インスタンスは使用していません。通常、そのパラメーターを「_」として設定するだけで完了しますか?