0

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

void Class::Method(int arg1);
...
m_mockRepository_p->ExpectCall(someObject_p, Class::Method).With(1);

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

void Class::Method(int arg1, char* buffer_p);
...
m_mockRepository_p->ExpectCall(someObject_p, Class::Method).With(1,???);

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

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

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

4

1 に答える 1

2

そのパラメーターとして Don't-Care を渡します。

m_mockRepository_p->ExpectCall(someObject_p, Class::Method).With(1, _);
于 2013-06-12T12:46:29.413 に答える