私は、C# で多くの非同期関数 (IAsyncOperation) を持つメトロ アプリケーションの単体テストを行うように割り当てられました。IAsyncOperation 関数を単体テストする方法、またはテストのために IAsyncOperation 関数で Task を使用できますか。はいの場合、例を教えてください。IAsyncOperation は、通常の c# の並列処理では winRT と Task でのみ機能するため
3135 次
2 に答える
3
直接戻るメソッドをテストできますIAsyncOperation<T>
。UnitTestLibrary (Windows Store apps)
プロジェクト テンプレートに基づいて新しいプロジェクトを作成することから始めます。
次のメソッドをテストするとします。
public class ViewModel
{
public IAsyncOperation<string> GetString()
{
//
}
}
次のように、テスト クラスから呼び出すことができます。
[TestClass]
public class UnitTest1
{
[TestMethod]
public async Task TestMethod1()
{
var viewModel = new ViewModel();
Assert.AreEqual("result", await viewModel.GetString());
}
}
テストメソッドのシグネチャでasync Task
代わりに使用していることを確認してください。void
于 2013-02-02T06:04:25.770 に答える
1
メソッドを使用して、非同期操作に対応するIAsyncOperation<T>.StartAsTask()
を生成できます。Task<T>
この StackOverflow の質問が役立つ場合があります: Task<> と IAsyncOperation<> の違いは何ですか
于 2013-02-02T00:26:19.767 に答える