O atual SynchronizationContext não pode ser usado como um TaskScheduler
Estou usando Tarefas para executar chamadas de servidor de longa execução no meu ViewModel e os resultados são reunidos novamente emDispatcher
usandoTaskScheduler.FromSyncronizationContext()
. Por exemplo
var context = TaskScheduler.FromCurrentSynchronizationContext();
this.Message = "Loading...";
Task task = Task.Factory.StartNew(() => { ... })
.ContinueWith(x => this.Message = "Completed"
, context);
Isso funciona bem quando executo o aplicativo. Mas quando eu corro meuNUnit
testes emResharper
Recebo a mensagem de erro na chamada paraFromCurrentSynchronizationContext
Como
O atual SynchronizationContext não pode ser usado como um TaskSchedule
Acho que é porque os testes são executados em threads de trabalho. Como posso garantir que os testes sejam executados no thread principal? Quaisquer outras sugestões são bem-vindas.