単体テストは初めてで、タスクを使用するWPFViewModelの単体テストを作成しようとしています。WPFのボタンに接続されているVMのメソッドがあります。以下のコードは、私がやろうとしていることを要約したものです。クラスMainPageViewModel{プライベートIServiceサービス_;
public void StartTask()
{
var task = service_.StartServiceAsync();
task.ContinueWith(AfterService);
}
private void AfterService(Task<IResult> result)
{
//update UI with result
}
}
class TestClass
{
[TestMethod]
public Test_StartTask()
{
MainPageViewModel vm = new MainPageViewModel();
vm.StartTask();
//need to check if UI is updated but since the AfterService is called on a different thread the assert fails
}
}
私のテストメソッドでは、StartTask()呼び出しの後にAssertを記述できません。そのようなシナリオを処理する方法について教えてください。TIA。