Skip to content

Commit d6ade97

Browse files
committed
Add IPrebuildSetupWithTestData examples (UTF 1.6+)
1 parent 7cc100b commit d6ade97

File tree

6 files changed

+105
-11
lines changed

6 files changed

+105
-11
lines changed

Assets/APIExamples/Tests/Runtime/UnityTestFramework/PreBuildSetupAttributeExample.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
namespace APIExamples.UnityTestFramework
88
{
99
/// <summary>
10-
/// <see cref="UnityEngine.TestTools.PrebuildSetupAttribute"/>で指定した<see cref="UnityEngine.TestTools.IPrebuildSetup"/>実装クラスの`Setup()`メソッドが使用されます
10+
/// <see cref="UnityEngine.TestTools.PrebuildSetupAttribute"/> で指定した <see cref="UnityEngine.TestTools.IPrebuildSetup"/> 実装クラスの <c>Setup</c> メソッドが使用されます
11+
/// <list type="bullet">
12+
/// <item>複数のテストに <c>PrebuildSetup</c> 属性が配置されていても、<c>Setup</c> の実行は1回だけです</item>
13+
/// <item><see cref="UnityEngine.TestTools.IPrebuildSetup"/> を実装していないクラスを渡した場合、何も起きません(エラーにもなりません)</item>
14+
/// <item><c>PrebuildSetup</c> 属性は、クラスにもメソッドにも配置できます</item>
15+
/// </list>
1116
/// </summary>
12-
/// <remarks>
13-
/// - 複数のテストに属性が付与されていた場合、`Setup()`の実行は1回だけです
14-
/// - <see cref="UnityEngine.TestTools.IPrebuildSetup"/>を実装していないクラスを渡した場合、何も起きません(エラーにもなりません)
15-
/// - 属性は、クラスにもメソッドにも付与できます
16-
/// </remarks>
1717
[PrebuildSetup(typeof(PreBuildSetupExample))]
1818
[PostBuildCleanup(typeof(PreBuildSetupExample))]
1919
public class PreBuildSetupAttributeExample

Assets/APIExamples/Tests/Runtime/UnityTestFramework/PreBuildSetupExample.cs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,34 @@
22
// This software is released under the MIT License.
33

44
using NUnit.Framework;
5+
using UnityEngine;
56
using UnityEngine.TestTools;
67

78
namespace APIExamples.UnityTestFramework
89
{
10+
/// <summary>
11+
/// ビルド前後に処理を挿むための <see cref="UnityEngine.TestTools.IPrebuildSetup"/> および <see cref="UnityEngine.TestTools.IPostBuildCleanup"/> の実装例
12+
/// </summary>
913
public class PreBuildSetupExample : IPrebuildSetup, IPostBuildCleanup
1014
{
1115
///<inheritdoc/>
16+
/// <remarks>
17+
/// Unityエディター実行(Edit ModeテストおよびPlay Modeテスト)では、すべてのテストの実行に先立って実行されます。
18+
/// プレイヤー実行(Play Modeテスト)では、ビルド前に実行されます。
19+
/// </remarks>
1220
public void Setup()
1321
{
14-
// Edit ModeテストおよびPlay Modeテスト(Unityエディター実行)では、すべてのテストの実行に先立って実行される
15-
// Play Modeテスト(プレイヤー実行)では、ビルド前に実行される
16-
// テスト用のビルドにのみResourcesに含めたいアセットをコピーする使用例は `LoadAssetExample` を参照してください
22+
Debug.Log("PreBuildSetupExample.Setup");
1723
}
1824

1925
///<inheritdoc/>
26+
/// <remarks>
27+
/// Unityエディター実行(Edit ModeテストおよびPlay Modeテスト)では、すべてのテストの実行終了後に実行されます。
28+
/// プレイヤー実行(Play Modeテスト)では、ビルド後に実行されます。
29+
/// </remarks>
2030
public void Cleanup()
2131
{
22-
// Edit ModeテストおよびPlay Modeテスト(Unityエディター実行)では、すべてのテストの実行終了後に実行される
23-
// Play Modeテスト(プレイヤー実行)では、ビルド後に実行される
32+
Debug.Log("PreBuildSetupExample.Cleanup");
2433
}
2534

2635
[Test]
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Copyright (c) 2021-2025 Koji Hasegawa.
2+
// This software is released under the MIT License.
3+
4+
#if ENABLE_UTF_1_6
5+
using NUnit.Framework;
6+
using UnityEngine.TestTools;
7+
8+
namespace APIExamples.UnityTestFramework
9+
{
10+
/// <summary>
11+
/// <see cref="UnityEngine.TestTools.PrebuildSetupWithTestDataAttribute"/> で指定した <see cref="UnityEngine.TestTools.IPrebuildSetupWithTestData"/> 実装クラスの <c>Setup</c> メソッドが使用されます
12+
/// </summary>
13+
/// <remarks>
14+
/// Required: Unity Test Framework v1.6 or later
15+
/// </remarks>
16+
/// <seealso cref="PreBuildSetupAttributeExample"/>
17+
[PrebuildSetupWithTestData(typeof(PreBuildSetupWithTestDataExample))]
18+
[PostBuildCleanupWithTestData(typeof(PreBuildSetupWithTestDataExample))]
19+
public class PreBuildSetupWithTestDataAttributeExample
20+
{
21+
[Test]
22+
public void PrebuildSetupWithTestDataAttributeを付与したテストの例()
23+
{
24+
Assert.That(true, Is.True);
25+
}
26+
}
27+
}
28+
#endif

Assets/APIExamples/Tests/Runtime/UnityTestFramework/PreBuildSetupWithTestDataAttributeExample.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// Copyright (c) 2021-2025 Koji Hasegawa.
2+
// This software is released under the MIT License.
3+
4+
#if ENABLE_UTF_1_6
5+
using NUnit.Framework;
6+
using UnityEngine;
7+
using UnityEngine.TestTools;
8+
9+
namespace APIExamples.UnityTestFramework
10+
{
11+
/// <summary>
12+
/// ビルド前後に処理を挿むための <see cref="UnityEngine.TestTools.IPrebuildSetupWithTestData"/> および <see cref="UnityEngine.TestTools.IPostbuildCleanupWithTestData"/> の実装例
13+
/// </summary>
14+
/// <remarks>
15+
/// Required: Unity Test Framework v1.6 or later
16+
/// </remarks>
17+
/// <seealso cref="PreBuildSetupExample"/>
18+
public class PreBuildSetupWithTestDataExample : IPrebuildSetupWithTestData, IPostbuildCleanupWithTestData
19+
{
20+
///<inheritdoc/>
21+
/// <remarks>
22+
/// Unityエディター実行(Edit ModeテストおよびPlay Modeテスト)では、すべてのテストの実行に先立って実行されます。
23+
/// プレイヤー実行(Play Modeテスト)では、ビルド前に実行されます。
24+
/// <p/>
25+
/// <see cref="TestData"/> には、テストモード、テストプラットフォーム、実行されるテストのリストが含まれます
26+
/// </remarks>
27+
public void Setup(TestData testData)
28+
{
29+
Debug.Log($"PreBuildSetupWithTestDataExample.Setup; testData: {testData}");
30+
}
31+
32+
///<inheritdoc/>
33+
/// <remarks>
34+
/// Unityエディター実行(Edit ModeテストおよびPlay Modeテスト)では、すべてのテストの実行終了後に実行されます。
35+
/// プレイヤー実行(Play Modeテスト)では、ビルド後に実行されます。
36+
/// <p/>
37+
/// <see cref="TestData"/> には、テストモード、テストプラットフォーム、実行されるテストのリストが含まれます
38+
/// </remarks>
39+
public void Cleanup(TestData testData)
40+
{
41+
Debug.Log($"PreBuildSetupWithTestDataExample.Cleanup; testData: {testData}");
42+
}
43+
44+
[Test]
45+
public void IPrebuildSetupWithTestDataを実装したテストの例()
46+
{
47+
Assert.That(true, Is.True);
48+
}
49+
}
50+
}
51+
#endif

Assets/APIExamples/Tests/Runtime/UnityTestFramework/PreBuildSetupWithTestDataExample.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)