123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using UnityEngine.TestRunner;
- using Unity.PerformanceTesting;
- using NUnit.Framework;
- using NUnit.Framework.Interfaces;
- using Unity.PerformanceTesting.Data;
- using Unity.PerformanceTesting.Runtime;
- using UnityEngine.Scripting;
- using UnityEngine;
-
- [assembly: TestRunCallback(typeof(PlayerCallbacks))]
-
- namespace Unity.PerformanceTesting
- {
- [Preserve]
- internal class PlayerCallbacks : ITestRunCallback
- {
- internal static bool Saved { get; set; }
-
- public void RunStarted(ITest testsToRun)
- {
- // This method is empty because it's part of the NUnit framework's ITestListener interface,
- // which Unity uses for running tests in the Editor. It receives a parameter "testsToRun" but
- // doesn't require implementation as Unity can execute tests without it. Developers can add
- // custom initialization logic if needed.
- }
-
- public void RunFinished(ITestResult testResults)
- {
- Saved = false;
- }
-
- public void TestStarted(ITest test)
- {
- // This method is called by Unity when a new test has started. It receives a parameter "test"
- // which contains information about the test being executed. Developers can add custom logic
- // in this method, such as logging or setup code for the test.
- }
-
- public void TestFinished(ITestResult result)
- {
- // This method is called by Unity when a test has finished executing. It receives a parameter
- // "result" which contains information about the test execution, such as whether the test
- // passed or failed, and any messages or exceptions thrown during the test. Developers can
- // add custom logic in this method, such as logging or teardown code for the test.
- }
-
- internal static void LogMetadata()
- {
- if (Saved) return;
-
- var run = Metadata.GetFromResources();
- var json = JsonUtility.ToJson(run);
- TestContext.Out?.WriteLine("##performancetestruninfo2:" + json);
- Saved = true;
- }
- }
- }
|