diff --git a/src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs b/src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs index 3339d9a48c..382cbbdee5 100644 --- a/src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs +++ b/src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs @@ -55,7 +55,7 @@ public sealed class HeadlessUnitTestSession : IDisposable /// Parameter from which should be created. /// It either needs to have BuildAvaloniaApp -> AppBuilder method or inherit Application. /// - public static Task StartNew< + public static HeadlessUnitTestSession StartNew< [DynamicallyAccessedMembers(DynamicallyAccessed)] TEntryPointType>() { return StartNew(typeof(TEntryPointType)); @@ -68,7 +68,7 @@ public sealed class HeadlessUnitTestSession : IDisposable /// Parameter from which should be created. /// It either needs to have BuildAvaloniaApp -> AppBuilder method or inherit Application. /// - public static Task StartNew( + public static HeadlessUnitTestSession StartNew( [DynamicallyAccessedMembers(DynamicallyAccessed)] Type entryPointType) { var tcs = new TaskCompletionSource(); @@ -96,13 +96,14 @@ public sealed class HeadlessUnitTestSession : IDisposable catch (Exception e) { tcs.SetException(e); + return; } Dispatcher.UIThread.MainLoop(cancellationTokenSource.Token); }) { IsBackground = true }; thread.Start(); - return tcs.Task; + return tcs.Task.GetAwaiter().GetResult(); } ///