c# - 在 C# 中使用 Task 测试 IAsyncOperation

标签 c# windows-runtime

我被指派对一个 Metro 应用程序进行单元测试,该应用程序在 C# 中具有很多异步函数 (IAsyncOperation)。如何对 IAsyncOperation 函数进行单元测试,或者我们可以使用 Task 和 IAsyncOperation 函数进行测试。如果是,请给我一个例子。因为 IAsyncOperation 仅在 winRT 中工作,而 Task 在普通 c# 中工作以实现并行性

最佳答案

您可以测试返回 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在您的测试方法签名中。

关于c# - 在 C# 中使用 Task 测试 IAsyncOperation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14657158/

相关文章:

c# - 32feet蓝牙客户端连接失败

c# - 如何将动态DoubleAnimation设置为To或From值

c# - MVC的服务层

c# - 如何获取任务管理器的网络选项卡中显示的网络利用率、链接速度和适配器状态的信息?

c++ - 使用 C++ 导航 XAML 页面

c++ - 使用 DrawingSurfaceBackgroundGrid 重新绘制框架的正确技术是什么? (DirectX + xaml 应用程序)

c# - 声明变量和数据类型有什么区别

c# - 在 WinRT 中处理控件上的水平滑动

windows-runtime - 如何显示 UIElement 但没有 UI 交互(触摸、点击……)

gridview - 如何按字母顺序对 GridView 项目进行分组 : Windows Store App