Test async Methoden (.NET)

Aus Byte-Welt Wiki
Version vom 19. Oktober 2013, 14:57 Uhr von Eagleeye (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Asynchrone Methoden zu testen kann oftmals zu einigen Schwierigkeiten führen, mit dem folgenden Beispiel kann man viele Fälle jedoch schaffen. <code=csharp> Aut…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Asynchrone Methoden zu testen kann oftmals zu einigen Schwierigkeiten führen, mit dem folgenden Beispiel kann man viele Fälle jedoch schaffen. <code=csharp> AutoResetEvent waitHandle = new AutoResetEvent(false);

MyClass myObject = new MyClass();

// Callback um zu erfahren wann die asynchrone Aktion fertig ist myObject.RegisterCallBack += () => waitHandle.Set(); myObject.CallAsyncMethod();

if (!waitHandle.WaitOne(5000)) {

 Assert.Fail("Test timed out.");

}

Assert.IsNotNull(myObject.Success); </code=csharp>