mirror of
https://github.com/Cysharp/UniTask.git
synced 2026-05-21 15:20:24 +00:00
Add a unit test to verify that an unawaited task reports exceptions
This commit is contained in:
@@ -366,6 +366,28 @@ namespace Cysharp.Threading.TasksTests
|
|||||||
UniTaskScheduler.UnobservedTaskException -= action;
|
UniTaskScheduler.UnobservedTaskException -= action;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
[UnityTest]
|
||||||
|
public IEnumerator ThrowExceptionUnawaited() => UniTask.ToCoroutine(async () =>
|
||||||
|
{
|
||||||
|
LogAssert.Expect(LogType.Exception, "Exception: MyException");
|
||||||
|
|
||||||
|
#pragma warning disable 1998
|
||||||
|
async UniTask Throw() => throw new Exception("MyException");
|
||||||
|
#pragma warning restore 1998
|
||||||
|
|
||||||
|
#pragma warning disable 4014
|
||||||
|
Throw();
|
||||||
|
#pragma warning restore 4014
|
||||||
|
|
||||||
|
await UniTask.DelayFrame(3);
|
||||||
|
|
||||||
|
GC.Collect();
|
||||||
|
GC.WaitForPendingFinalizers();
|
||||||
|
GC.Collect();
|
||||||
|
|
||||||
|
await UniTask.DelayFrame(1);
|
||||||
|
});
|
||||||
|
|
||||||
async UniTask InException1()
|
async UniTask InException1()
|
||||||
{
|
{
|
||||||
await UniTask.Yield();
|
await UniTask.Yield();
|
||||||
|
|||||||
Reference in New Issue
Block a user