次のシグネチャを持つメソッドがあります。System.Threading.Tasksから戻る方法。 UnitTestingの<string>メソッド
Task<string> Post(PartyVM model);
私は上記の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;
}
文字列を返すときにエラーメッセージが表示されます。暗黙的に型 'string' を変換できません
エラー45 'System.Threading.Tasks.Task' 私はこの問題を解決するにはどうすればよい
。
[単体テストの非同期メソッドを模擬するために部品番号を使用した(https://stackoverflow.com/questions/20859639/using-moq-to-mock-an-asynchronous-methodの可能な重複-for-a-unit-test) – dymanoid