Test async Methoden (.NET)

Aus Byte-Welt Wiki
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>