Skip to content

Commit 0ae447c

Browse files
committed
git commit -m "fix(editor): Handle null results in TestRunnerServiceAddresses
NullReferenceException when Unity Test Framework API returns null ITestResultAdaptor instances.
1 parent c709528 commit 0ae447c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

Editor/Services/TestRunnerService.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,8 @@ public void TestStarted(ITestAdaptor test)
158158
/// </summary>
159159
public void TestFinished(ITestResultAdaptor result)
160160
{
161-
_results.Add(result);
161+
if (result != null) // Add null check
162+
_results.Add(result);
162163
}
163164

164165
/// <summary>
@@ -194,6 +195,8 @@ private JObject BuildResultJson(List<ITestResultAdaptor> results, ITestResultAda
194195
int pass = results.Count(r => r.ResultState == "Passed");
195196
int fail = results.Count(r => r.ResultState == "Failed");
196197
int skip = results.Count(r => r.ResultState == "Skipped");
198+
string state = result != null ? result.ResultState : "Unknown";
199+
double duration = result != null ? result.Duration : -1;
197200

198201
var arr = new JArray(results
199202
.Where(r => !_returnOnlyFailures || r.ResultState == "Failed")
@@ -209,8 +212,8 @@ private JObject BuildResultJson(List<ITestResultAdaptor> results, ITestResultAda
209212
["success"] = true,
210213
["type"] = "text",
211214
["message"] = $"{result.Test.Name} test run completed: {pass}/{results.Count} passed - {fail}/{results.Count} failed - {skip}/{results.Count} skipped",
212-
["resultState"] = result.ResultState,
213-
["durationSeconds"] = result.Duration,
215+
["resultState"] = state,
216+
["durationSeconds"] = duration,
214217
["testCount"] = results.Count,
215218
["passCount"] = pass,
216219
["failCount"] = fail,

0 commit comments

Comments
 (0)