Skip to content

Commit

Permalink
Fix constraint examples for exception
Browse files Browse the repository at this point in the history
  • Loading branch information
nowsprinting committed Nov 16, 2023
1 parent 9a8fc6a commit 4873e3e
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions Assets/APIExamples/Tests/Runtime/NUnit/ConstraintExample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -800,24 +800,25 @@ void GetNotThrow() { }
// But was: <System.NullReferenceException: Object reference not set to an instance of an object.
}

[Explicit("Throws制約をasyncメソッドに使用するとテストが終了しない(Unity Test Framework v1.3.9時点)")]
[Test]
public async Task ThrowsConstraint_非同期メソッドの例()
public async Task 非同期メソッドの例外捕捉を制約モデルで行なうことはできない_テストが終了しない()
{
async Task
GetThrowWithMessageAsync()
async Task GetThrowWithMessageAsync()
{
await Task.Yield();
throw new ArgumentException("message!");
}

Assert.That(async () => await GetThrowWithMessageAsync(),
Throws.TypeOf<ArgumentException>().And.Message.EqualTo("message!"));
// Note: 非同期(async)メソッドに対してThrows制約が使用できない問題は、Unity Test Framework v1.3.4で修正された
// Note: 非同期(async)メソッドに対してThrows制約が使用できない
// See: https://unity3d.atlassian.net/servicedesk/customer/portal/2/IN-28107
}

[Explicit("ThrowsAsyncをasyncメソッドに使用するとテストが終了しない(Unity Test Framework v1.3.9時点)")]
[Test]
public async Task 非同期メソッドの例外捕捉をクラシックモデルで行なう例()
public async Task 非同期メソッドの例外捕捉をクラシックモデルで行なうことはできない_テストが終了しない()
{
async Task GetThrowWithMessageAsync()
{
Expand All @@ -826,6 +827,7 @@ async Task GetThrowWithMessageAsync()
}

Assert.ThrowsAsync<ArgumentException>(async () => await GetThrowWithMessageAsync());
// Note: 非同期(async)メソッドに対してThrowsAsyncも使用できない
// Note: クラシックモデルではMessage文字列の評価はできない
}

Expand Down

0 comments on commit 4873e3e

Please sign in to comment.