問題タブ [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.

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

winapi - HippoMocks - Win32 API 関数をモックする方法

HippoMocks のドキュメントには、Windows API 関数を含む C 関数をモックできると書かれていますが、その例は見つかりませんでした。Windows API関数のモックの例を誰か教えてください。

http://www.hippomocks.com/wiki/index.php/What_can_be_mocked

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

c++ - HippoMocks-std::vectorを使用したモックメソッドのコンパイルに失敗する

HippoMocks(Cygwin、GCC 4.5.3、CppUnit)を試してインターフェイスをモックしているときに、メソッドの1つがコンパイルの失敗を引き起こしています。さらなるトリアージは、引数としてstd::vectorを使用するモックメソッドのみが失敗することを示しています。

例えば

どこ

コンパイラエラー:

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

c++ - HippoMocksはモックを破壊することを主張します

m_EmpSvcMockがHippoMockによって内部的に破壊されるのを防ぐ方法は?モックをshared_ptrに渡すと、両方がモックを破棄します。

編集-回答:

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

c++ - HippoMocks による参照による戻り値のモック

int (メソッドの戻り値の型) の代わりに引数を介して std::vector を返すようにモックするにはどうすればよいですか?

また、複数の ref 引数がある場合はどうなりますか?

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

c++ - HippoMocks-unique_ptrを返す関数をモックします

私は現在、unique_ptrを返すインターフェイスのモックに成功していません。たとえば、与えられた

Return実装がunique_ptrのコピーを作成するため、これはコンパイルに失敗します

そして期待はunique_ptrを返そうとします

返された参照に関する同様の問題についてDo提案されているように、私は試しました。

また、unique_ptrを生成する独自の記述を試みましValueWrapper<T>たが、どこかで値が常にコピーされます。今、私はアイデアを使い果たしました。

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

c++ - Hippo Mocksで異なる戻り値を持つ複数の予想される呼び出しに対してモックを再利用できますか?

Hippo Mocks を使用して大成功を収めていますが、適切に設定する方法がよくわからないという状況があります。テスト中のコードは次のようになります。

Whereは、純粋仮想メソッドを持つ をIRecord::at()返します。およびのモック バージョンでコードをテストしようとしています。IColumn&getValue()IrecordIColumn

私はうまく期待を設定することができfirstNameます:

IColumnしかし、次の期待のためにモックを再利用したいと思いlastNameます。

しかし、これを実行すると、Hippo Mocks は両方のgetValue()呼び出しに対して "John" を返します。

チュートリアルに従って、「firstName」と「lastName」の呼び出しの順序を制限しようとしました。

しかし、私はまだ両方のgetValue()呼び出しで「ジョン」を受け取ります。

Q:インターフェイスを再利用して、IColumnHippo Mocks に必要な呼び出しごとに異なる値を返すように指示することはできますか? それとも、パラメーターごとgetValue()に個別のモックを作成するのに行き詰まっていますか? IColumn注: 私の実際の実装には 2 つ以上のパラメーターがあるため、IColumnモックを再利用すると、各単体テストのセットアップが大幅に削減されます。

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

c++ - HippoMocks - C++ で COM インターフェイスをモックしますか?

Hippo Mocks の最新バージョン(Git リポジトリ内) には、COM インターフェイスのサポートが追加されているようです。ADO 接続オブジェクトをモックしてみました。適切にビルドするには、Hippo Mocks の微調整が必​​要でした (コードの COM バージョンは、Hippo Mocks の残りの部分の変更に対して更新されていないようです)。現在ビルドしていますが、次のテストは失敗します。

スマート ポインターが最初に行うことはAddRef、インターフェイスです。私のモックは参照カウントを気にするべきではないので、単純に を返す呼び出し期待値を追加します1AddRefただし、呼び出されるとすぐに aHippoMocks::NotImplementedExceptionがスローされます。

Hippo Mocks を使用して COM インターフェイスをモックすることに成功した人はいますか?

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

c++ - Hippomocks: ExpectCall() に渡される引数の一部のみを期待する方法は?

モッキング フレームワークHippomocksでは、渡された引数を期待値内でチェックすることができます。例えば:

渡された引数の一部のみをチェックする可能性はありますか? ???の代わりに何を書けばいいですか?次のコードで?

参考までに: 使用例は、 someObjet_p が内部的にバッファを作成してその中のデータを読み取り、それを Class::Method に渡すことです。第一に、someObject_p がどのバッファにデータを入れたいかは気にしません。第二に、someObject_p の内部にアクセスして With() に渡す必要がありません。これは非常に合理的です。

注:ExpectCallを利用しているため、質問にC++のタグを付けましたが、フラット関数のExpectCallFuncにも同じことが当てはまると思います。

2 番目の注意: Hippomocks は、"Match()"、"getArgs()"、"assignArgs()"、および "matchesArgs()" という名前の期待値のメソッドを提供しますが、それに関するドキュメントは見つかりませんでしたし、意図されているかどうかもわかりません(私のユースケースでは)使用するかどうか。

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

c++ - Hippomocks の基本クラス メソッドのモック

A次のクラスとがあるとしましょうB:

単体テストでは、 のみをテストします。つまり、呼び出すと実際に が呼び出されることをHippomocksBを使用してテストします。B::Init()DoSomethingSpecial()

Aからのすべての呼び出しを期待したくないので、次のInit()ように記述します。

最後の期待値は未処理の例外を引き起こしますが、呼び出しているメソッドと期待したい基本バージョンを混在させているので問題ないと思います。b_pへのキャストAは役に立ちません。

その特定のユースケースに対する解決策はありますか?