UnityGame/Library/PackageCache/com.unity.test-framework.performance/Runtime/PlayerCallbacks.cs

57 lines
2.1 KiB
C#
Raw Permalink Normal View History

2024-10-27 10:53:47 +03:00
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;
}
}
}