目的
非同期メソッドをテスト用にmock化したい
こうやって見た
Task を作る部分をmock化するとやりやすい
Task.FromResult で作ったものを async なメソッドでつかってやればよい
using System;
using System.Threading.Tasks;
public class Hello
{
public static void Main()
{
var test = new TestClass();
Console.WriteLine(test.GetInt().Result);
}
}
public abstract class AbClass
{
public abstract Task<int> MakeTask();
public async Task<int> GetInt()
{
return await MakeTask().ConfigureAwait(false);
}
}
public class TestClass : AbClass
{
public override Task<int> MakeTask()
{
return Task.FromResult(100);
}
}