私は同期asp.netコードの本体を.net4.5と新しい非同期構文に変換することに取り組んでいます。
次のようなテストコードがたくさんあります。
var retVal = new Foo(bar,baz);
_myMock.Setup(x => x.DoSomething(123)).Returns(retVal);
DoSomethingの署名をからに変換するときはFoo DoSomething()
、async Task<Foo> DoSomething()
すべてのテストコードを書き直す必要があります。私の現在の回避策は、元のコードを次のようなものに変換することです。
var retVal = new Foo(bar,baz);
_myMock.Setup(x => x.DoSomething(123))
.Returns(new Task<Foo>(()=>retVal));
これは特に難しい変換ではありませんが、更新する必要のあるテストが何千もある場合は面倒です。
そのフォームmのいくつかを実行するためにReturnsAsyncと呼ばれる拡張メソッドを作成しようとしましたが、型推論の問題がいくつかあり、完全に特定することはできませんでした。この種のモックを変換して非同期メソッドをより適切に処理するための標準的またはより簡単な方法はありますか?