J'ai quelques tests qui s'exécutent dans le flux de travail de mon programme WPF. Je fais l'approche MVVM normale qui lie les boutons de la vue aux commandes du modèle de vue, qui gère ensuite l'événement. La façon dont mes tests testent mon flux de travail consiste alors à exécuter directement les commandes sur le modèle de vue. Cela se traduit à peu près à ressembler à quelque chose comme:Comment gérer les exceptions dans les méthodes async void avec NUnit
[Test]
public void Test()
{
var vm = new ViewModel();
vm.AcceptCommand.Execute();
Assert.IsTrue(stuff);
}
Tout cela fonctionne bien, à l'exception du fait que le code dans la viewmodel qui gère la commande finit par être une méthode vide async car cela devient juste un gestionnaire d'événements. Si une exception est levée ici, nunit n'affiche pas de test défaillant car il ne "voit" pas cette exception dans le thread d'arrière-plan.
Ma question est la suivante: existe-t-il un moyen de faire en sorte que NUnit gère ces exceptions en arrière-plan?
Cela ne fonctionne pas dans mon cas puisque le gestionnaire d'événements est vide async si l'exception « échappe » le contexte de nunit – ptsoccer