Ich habe einige Tests, die den Workflow meines WPF-Programms durchlaufen. Ich mache den normalen MVVM-Ansatz, bei dem Schaltflächen in der Ansicht an Befehle im Ansichtsmodell gebunden sind, die dann das Ereignis behandeln. Die Art und Weise, wie meine Tests meinen Workflow testen, erfolgt dann direkt durch Ausführen der Befehle im Ansichtsmodell. Dies übersetzt in etwa etwas wie folgen aussehen:Wie behandelt man Ausnahmen in asynchronen void Methoden mit NUnit
[Test]
public void Test()
{
var vm = new ViewModel();
vm.AcceptCommand.Execute();
Assert.IsTrue(stuff);
}
All dies funktioniert gut, mit Ausnahme der Tatsache, dass der Code in dem Viewmodel, die den Befehl behandelt endet eine asynchrone void-Methode ist, da dies nur ein Event-Handler wird. Wenn hier eine Ausnahme ausgelöst wird, zeigt Nunit keinen fehlgeschlagenen Test, da diese Ausnahme im Hintergrundthread nicht "gesehen" wird.
Meine Frage ist: Gibt es eine Möglichkeit, NUnit diese Hintergrund Ausnahmen behandeln zu lassen?
Dies gilt nicht in meinem Fall arbeiten, da die Event-Handler async ungültig ist, so dass die Ausnahme „entkommt“ den nunit Kontext – ptsoccer