我正在尝试为await方法编写单元测试用例
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 UnitTesting而不是正常的单元测试框架!
答案 0 :(得分:2)
如果您声明了测试方法async void
(正如您在评论中暗示的那样),则您希望改为async Task
。框架无法等待async void
方法;您唯一想要使用async void
的时间是您没有其他选择(例如某些事件处理程序)。
答案 1 :(得分:-1)
Async Unit Tests
例如:
[TestMethod]
public async Task BlobFileUploadAsync()
{
bool result = await ExamStatus.BlobFileUploadPost(ExamDetails);
Assert.AreEqual(true, result);
}