同期asp.netコードの本体を.net 4.5と新しい非同期構文に変換する作業を進めています。私のテストコードのすべてを書き直さなければならないが、私はasync Task<Foo> DoSomething()
にFoo DoSomething()
からのdoSomethingの署名を変換する場合同期Moqモックを非同期に変換
var retVal = new Foo(bar,baz);
_myMock.Setup(x => x.DoSomething(123)).Returns(retVal);
:
は、私は次のようになり、テストコードの多くを持っています。私の現在の回避策は次のように元のコードを変換するためにされています。これは特に、ハード変換が、私は更新する必要があるテストの数千を持っている場合、それは退屈ではない
var retVal = new Foo(bar,baz);
_myMock.Setup(x => x.DoSomething(123))
.Returns(new Task<Foo>(()=>retVal));
。
私は、ReturnAsyncという拡張メソッドを使ってそのフォームmのいくつかを実行しようとしましたが、私は決して釘付けできない型の推論の問題を抱えていました。この種のモックを非同期メソッドをよりうまく処理するように変換する標準的で簡単な方法はありますか?