Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为C中使用wait的方法编写单元测试用例#_C#_Async Await - Fatal编程技术网

C# 如何为C中使用wait的方法编写单元测试用例#

C# 如何为C中使用wait的方法编写单元测试用例#,c#,async-await,C#,Async Await,我正在尝试为类似这样的等待方法编写一个单元测试用例 ExamStatus FakeExamStatus = new ExamStatus(); ExamDetails FaKeExamDetails = new ExamDetails(); FakeExamDetails .base64String = "asjdhajshdhasdjhasd"; FakeExamDetails .eMailID = EmailID; FakeExamDetails .

我正在尝试为类似这样的等待方法编写一个单元测试用例

    ExamStatus FakeExamStatus = new ExamStatus();
    ExamDetails FaKeExamDetails = new ExamDetails();

    FakeExamDetails .base64String = "asjdhajshdhasdjhasd";
    FakeExamDetails .eMailID = EmailID;
    FakeExamDetails .fileExtension = FileExtension;
    FakeExamDetails .fileName = FileName;

    ExamResult result = await FakeExamStatus.BlobFileUploadPost(ExamDetails);    

    Assert.AreEqual(result.ReturnMessage, "success", "Not Equal");
当我尝试传递并获取一些值时,它会在这一行停止执行吗?我是否需要在等待之后添加一些等待

我使用的是Specflow和VisualStudio单元测试,而不是普通的单元测试框架

Async Unit Tests
例如:


如果您声明了您的测试方法
async void
(正如您在注释中所暗示的那样),那么您希望改为执行
async任务。框架不能等待
异步void
方法;您想使用
异步无效
的唯一时间是当您没有其他选择时(例如,对于某些事件处理程序)。

我已经这样做了,但仍然存在一些问题,无法成功执行。.不,不要执行
异步无效
,执行
异步任务
,框架不能等待
async void
。MSTest将跳过
async void
单元测试并发出警告UTA007,但要找到警告的位置并不容易。
    [TestMethod]
    public async Task BlobFileUploadAsync()
    {
        bool result = await ExamStatus.BlobFileUploadPost(ExamDetails);
        Assert.AreEqual(true, result);
    }