1. ホーム
  2. .net

[解決済み] Moq Callbackについて教えてください。

2022-03-04 03:09:50

質問

Moqを使って見てみると Callback が、使い方を理解するための簡単な例を見つけることができません。

どのように、そしてどのような場合に使用するかを明確に説明した、小さな実用的なスニペットがありますか?

どのように解決するのですか?

難易度 https://github.com/Moq/moq4/wiki/Quickstart

これで分かりにくかったら、ドコモのバグと言われても...。

EDIT: 明確なご指摘を受けて...

モック化された各メソッドに対して Setup を実行すると、次のような表示になります。

  • 入力に対する制約
  • 戻り値(ある場合)の値/戻り値の導き方

.Callback の仕組みは、"今すぐには記述できないが、このような形の呼び出しが発生したら、呼び戻してくれ、必要なことはやっておくから"と言っています。同じ流れるようなコールチェーンの一部として、返すべき結果を .Returns "です。QSの例では、返される値を毎回増加させるという例です。

一般的に、このような仕組みはあまり必要ないでしょう(xUnit Test Patternsには、Conditional Logic In Testsのようなアンチパターンに対する用語があります)。また、必要なものを確立するための、よりシンプルで組み込みの方法があれば、それを優先して使用すべきです。

Justin EtheredgeのMoqシリーズ4部作の第3部 をカバーし、さらに コールバックの例はこちらにもあります。

コールバックの簡単な例は、次のとおりです。 Moqでコールバックを使用する の投稿になります。