implemented skill system according to designdocuments
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
using UnityEditor;
|
||||
using UnityEditor.TestTools.TestRunner.Api;
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// One-click EditMode test run for the skill system.
|
||||
/// </summary>
|
||||
public static class SkillSystemTestRunner
|
||||
{
|
||||
[MenuItem("Tools/Nightclub Arcadia/Run Skill EditMode Tests")]
|
||||
public static void RunEditModeTests()
|
||||
{
|
||||
var api = ScriptableObject.CreateInstance<TestRunnerApi>();
|
||||
var filter = new Filter
|
||||
{
|
||||
testMode = TestMode.EditMode,
|
||||
assemblyNames = new[] { "NightclubArcadia.Skills.Tests" },
|
||||
};
|
||||
|
||||
api.RegisterCallbacks(new Callbacks());
|
||||
api.Execute(new ExecutionSettings(filter));
|
||||
Debug.Log("[SkillSystemTestRunner] EditMode tests started — watch the Console / Test Runner.");
|
||||
}
|
||||
|
||||
sealed class Callbacks : ICallbacks
|
||||
{
|
||||
public void RunStarted(ITestAdaptor testsToRun) { }
|
||||
|
||||
public void RunFinished(ITestResultAdaptor result)
|
||||
{
|
||||
Debug.Log($"[SkillSystemTestRunner] Finished. Pass:{result.PassCount} Fail:{result.FailCount} Skip:{result.SkipCount}");
|
||||
if (result.FailCount > 0)
|
||||
{
|
||||
Debug.LogError("[SkillSystemTestRunner] One or more skill EditMode tests failed.");
|
||||
}
|
||||
}
|
||||
|
||||
public void TestStarted(ITestAdaptor test) { }
|
||||
|
||||
public void TestFinished(ITestResultAdaptor result)
|
||||
{
|
||||
if (result.TestStatus == TestStatus.Failed)
|
||||
{
|
||||
Debug.LogError($"[SkillSystemTestRunner] FAIL {result.FullName}\n{result.Message}\n{result.StackTrace}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user