-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
215 lines (215 loc) · 9.63 KB
/
package.json
File metadata and controls
215 lines (215 loc) · 9.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
{
"name": "com.unity.test-framework",
"displayName": "Test Framework",
"version": "1.6.0",
"unity": "6000.0",
"unityRelease": "44f1",
"description": "Test framework for running Edit mode and Play mode tests in Unity.",
"keywords": [ "Test", "TestFramework" ],
"category": "Unity Test Framework",
"dependencies": {
"com.unity.ext.nunit": "2.0.3",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
"samples": [
{
"displayName": "Exercise 1: Running Tests",
"description": "This exercise will teach you how to set up a simple Unity project with a test assembly and tests.",
"interactiveImport": true,
"path": "Samples~/1_RunningTest_Project"
},
{
"displayName": "Exercise 1: Solution",
"description": "This exercise will teach you how to set up a simple Unity project with a test assembly and tests.",
"interactiveImport": true,
"path": "Samples~/1_RunningTest_Project_Solution"
},
{
"displayName": "Exercise 2: Arrange, Act, Assert",
"description": "In this exercise, you will learn about the core unit testing principle of AAA (Arrange, Act, Assert), which will help you structure your unit test.",
"interactiveImport": true,
"path": "Samples~/2_ActArrangeAssert"
},
{
"displayName": "Exercise 2: Solution",
"description": "In this exercise, you will learn about the core unit testing principle of AAA (Arrange, Act, Assert), which will help you structure your unit test.",
"interactiveImport": true,
"path": "Samples~/2_ActArrangeAssert_Solution"
},
{
"displayName": "Exercise 3: Semantic Test Assertion",
"description": "You will be introduced to the Assert.That and related classes.",
"interactiveImport": true,
"path": "Samples~/3_SemanticTestAssertion"
},
{
"displayName": "Exercise 3: Solution",
"description": "You will be introduced to the Assert.That and related classes.",
"interactiveImport": true,
"path": "Samples~/3_SemanticTestAssertion_Solution"
},
{
"displayName": "Exercise 4: Custom Comparison",
"description": "This exercise will cover the custom equality comparers included in UTF, such as Vector3EqualityComparer. These are used to assert on e.g. Vectors.",
"interactiveImport": true,
"path": "Samples~/4_CustomComparison"
},
{
"displayName": "Exercise 4: Solution",
"description": "This exercise will cover the custom equality comparers included in UTF, such as Vector3EqualityComparer. These are used to assert on e.g. Vectors.",
"interactiveImport": true,
"path": "Samples~/4_CustomComparison_Solution"
},
{
"displayName": "Exercise 5: Asserting Logs",
"description": "How to test and verify code that logs to the console log.",
"interactiveImport": true,
"path": "Samples~/5_AssertingLogs"
},
{
"displayName": "Exercise 5: Solution",
"description": "How to test and verify code that logs to the console log.",
"interactiveImport": true,
"path": "Samples~/5_AssertingLogs_Solution"
},
{
"displayName": "Exercise 6: Set Up and Tear Down",
"description": "In this exercise, you will get practical experience in using the NUnit attributes [SetUp] and [TearDown] in order to reduce code duplication in your tests.",
"interactiveImport": true,
"path": "Samples~/6_SetUpTearDown"
},
{
"displayName": "Exercise 6: Solution",
"description": "In this exercise, you will get practical experience in using the NUnit attributes [SetUp] and [TearDown] in order to reduce code duplication in your tests.",
"interactiveImport": true,
"path": "Samples~/6_SetUpTearDown_Solution"
},
{
"displayName": "Exercise 7: PlayMode Tests",
"description": "This exercise introduces the concept of PlayMode tests and will teach you when to use PlayMode tests, how to set up assembly definition for PlayMode tests, and how to run tests in PlayMode.",
"interactiveImport": true,
"path": "Samples~/7_PlayModeTests"
},
{
"displayName": "Exercise 7: Solution",
"description": "This exercise introduces the concept of PlayMode tests and will teach you when to use PlayMode tests, how to set up assembly definition for PlayMode tests, and how to run tests in PlayMode.",
"interactiveImport": true,
"path": "Samples~/7_PlayModeTests_Solution"
},
{
"displayName": "Exercise 8: PlayMode Tests in Player",
"description": "This section will teach you how to run PlayMode tests in a Standalone player on your machine.",
"interactiveImport": true,
"path": "Samples~/8_PlayModeTests_InPlayer"
},
{
"displayName": "Exercise 9: UnityTest Attribute",
"description": "This section will introduce you to the custom UnityTest Attribute, which allows for creating test that runs over multiple frames.",
"interactiveImport": true,
"path": "Samples~/9_UnityTestAttribute"
},
{
"displayName": "Exercise 9: Solution",
"description": "This section will introduce you to the custom UnityTest Attribute, which allows for creating test that runs over multiple frames.",
"interactiveImport": true,
"path": "Samples~/9_UnityTestAttribute_Solution"
},
{
"displayName": "Exercise 10: Long Running Tests",
"description": "This exercise will cover best practices and pitfalls for tests that have a long runtime, such as tests yielding back a WaitForSeconds.",
"interactiveImport": true,
"path": "Samples~/10_LongRunningTests"
},
{
"displayName": "Exercise 10: Solution",
"description": "This exercise will cover best practices and pitfalls for tests that have a long runtime, such as tests yielding back a WaitForSeconds.",
"interactiveImport": true,
"path": "Samples~/10_LongRunningTests_Solution"
},
{
"displayName": "Exercise 11: Scene Based Tests",
"description": "In this exercise, you will learn how to test content that is stored in a scene.",
"interactiveImport": true,
"path": "Samples~/11_SceneBasedTests"
},
{
"displayName": "Exercise 11: Solution",
"description": "In this exercise, you will learn how to test content that is stored in a scene.",
"interactiveImport": true,
"path": "Samples~/11_SceneBasedTests_Solution"
},
{
"displayName": "Exercise 12: Build Setup and Cleanup",
"description": "This section will introduce you to the hooks in the test framework for before and after the player build.",
"interactiveImport": true,
"path": "Samples~/12_BuildSetupCleanup"
},
{
"displayName": "Exercise 12: Solution",
"description": "This section will introduce you to the hooks in the test framework for before and after the player build.",
"interactiveImport": true,
"path": "Samples~/12_BuildSetupCleanup_Solution"
},
{
"displayName": "Exercise 13: Domain Reload",
"description": "In this section, you will learn how to invoke and wait for Domain Reloads.",
"interactiveImport": true,
"path": "Samples~/13_DomainReload"
},
{
"displayName": "Exercise 13: Solution",
"description": "In this section, you will learn how to invoke and wait for Domain Reloads.",
"interactiveImport": true,
"path": "Samples~/13_DomainReload_Solution"
},
{
"displayName": "Exercise 14: Preserve Test State",
"description": "This section will cover how to let variables and information in your tests survive domain reloads using serialization.",
"interactiveImport": true,
"path": "Samples~/14_PreserveTestState"
},
{
"displayName": "Exercise 14: Solution",
"description": "This section will cover how to let variables and information in your tests survive domain reloads using serialization.",
"interactiveImport": true,
"path": "Samples~/14_PreserveTestState_Solution"
},
{
"displayName": "Exercise 15: Test Cases",
"description": "This section will cover [TestCase] and similar NUnit attributes and how to work with them in UnityTests.",
"interactiveImport": true,
"path": "Samples~/15_TestCases"
},
{
"displayName": "Exercise 15: Solution",
"description": "This section will cover [TestCase] and similar NUnit attributes and how to work with them in UnityTests.",
"interactiveImport": true,
"path": "Samples~/15_TestCases_Solution"
},
{
"displayName": "Exercise 16: Custom Attributes",
"description": "In this section we will look at some ways of implementing custom NUnit attributes, which can be used to alter test execution.",
"interactiveImport": true,
"path": "Samples~/16_CustomAttributes"
},
{
"displayName": "Exercise 16: Solution",
"description": "In this section we will look at some ways of implementing custom NUnit attributes, which can be used to alter test execution.",
"interactiveImport": true,
"path": "Samples~/16_CustomAttributes_Solution"
},
{
"displayName": "Exercise 17: Runnings Tests Programmatically",
"description": "This section will introduce the TestRunnerApi, teaching you how to trigger a test run programmatically.",
"interactiveImport": true,
"path": "Samples~/17_RunningTestsProgrammatically"
},
{
"displayName": "Exercise 17: Solution",
"description": "This section will introduce the TestRunnerApi, teaching you how to trigger a test run programmatically.",
"interactiveImport": true,
"path": "Samples~/17_RunningTestsProgrammatically_Solution"
}
]
}