Como Unit Testar um ViewModel com o método assíncrono.

Não sei por onde começar, mas deixe-me dar uma breve ideia de onde estou e do que quero alcançar. Eu sou muito novo em Testes Unitários em MVVM e tendo dificuldade em testar os comandos que expus com propriedades de comando delegado PRISM. Meus comandos delegados chamam o método assíncrono que precisa ser aguardado para que eu possa obter o resultado real. Abaixo está um método asyc que é chamado pelo método que eu queria testar.

 async void GetTasksAsync()
        {
            this.SimpleTasks.Clear();
            Func<IList<ISimpleTask>> taskAction = () =>
                {
                    var result = this.dataService.GetTasks();
                    if (token.IsCancellationRequested)
                        return null;
                    return result;
                };
            IsBusyTreeView = true;

            Task<IList<ISimpleTask>> getTasksTask = Task<IList<ISimpleTask>>.Factory.StartNew(taskAction, token);
            var l = await getTasksTask;          // waits for getTasksTask


            if (l != null)
            {
                foreach (ISimpleTask t in l)
                {
                    this.SimpleTasks.Add(t); // adds to ViewModel.SimpleTask
                }
            }
        }

também aqui está o comando na minha VM que chama o método assíncrono acima

  this.GetTasksCommand = new DelegateCommand(this.GetTasks);
      void GetTasks()
        {
                GetTasksAsync();
        }

e agora meu método de teste é como

 [TestMethod]
        public void Command_Test_GetTasksCommand()
        {
          MyViewModel.GetTaskCommand.Execute(); // this should populate ViewModel.SimpleTask 
          Assert.IsTrue(MyBiewModel.SimpleTask != null)
        } 

Atualmente, o que estou recebendo é que meu ViewModel.SimpleTask = null é porque ele não espera que o método assíncrono seja concluído. Eu entendo que há alguns tópicos relacionados a isso já no estouro de pilha, mas não consegui encontrar algo relacionado aos meus DelegateCommands.

questionAnswers(1)

yourAnswerToTheQuestion