Har*_*a W 0 c# unit-testing task vs-unit-testing-framework
我有一个具有以下签名的方法。
Task<string> Post(PartyVM model);
Run Code Online (Sandbox Code Playgroud)
我正在通过使用以下方法来测试上述Post方法来编写单元测试类。
mockPartyManager.Setup(mr => mr.Post(It.IsAny<PartyVM>())).Returns(
(PartyVM target) =>
{
if (target.PartyID.Equals(default(int)))
{
target.Name = "NewP";
target.Status = "ACTIVE";
target.PartyRoleID = msoList.Count() + 1;
partyList.Add(target);
}
else
{
var original = partyList.Where(q => q.PartyID == target.PartyID).Single();
if (original == null)
{
return "Execution failed";
}
original.Name = target.Name;
original.Status = target.Status;
}
return "Execution Successful";
});
this.MockMSOManager = mockPartyManager.Object;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试返回字符串时收到错误消息。
错误 45 无法将类型“字符串”隐式转换为“System.Threading.Tasks.Task”
我该如何解决这个问题。
尝试使用该Task.FromResult<TResult>方法。来自 MSDN:
创建一个以指定结果成功完成的任务。
return Task.FromResult("Execution failed");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4540 次 |
| 最近记录: |