メソッドの一部を に変換中ですasync
。これを NUnit で動作させるのは非常に簡単です。
テスト メソッドを非同期にすることはできません。ただし、Task Parallel Library のすべての機能にアクセスすることはできますが、await
キーワードをテスト メソッドで直接使用することはできません。
私の例では、メソッドがありました:
public string SendUpdateRequestToPlayer(long playerId)
そして、次のようにNUnitでテストされました:
string result = mgr.SendUpdateRequestToPlayer(player.Id.Value);
Assert.AreEqual("Status update request sent", result);
mocks.VerifyAll();
メソッドSendUpdateRequestToPlayer
を非同期に変更したので、
public async Task<string> SendUpdateRequestToPlayer(long playerId)
Wait
タスクを完了するには、テストを次のように変更するだけで済みました。
Task<string> task = mgr.SendUpdateRequestToPlayer(player.Id.Value);
task.Wait(); // The task runs to completion on a background thread
Assert.AreEqual("Status update request sent", task.Result);
mocks.VerifyAll();