using NUnit.Framework.Internal; using NUnit.Framework.Internal.Commands; namespace UnityEngine.TestRunner.NUnitExtensions.Runner { /// /// Implement this interface to wrap test commands with custom behavior. /// public interface ITestCommandWrapper { /// /// The order in which this wrapper is applied relative to other wrappers. /// Lower values are applied first (closer to the test command), higher values are applied last (outer wrapper). /// Outer wrappers execute their pre-test logic first and post-test logic last. /// int Order { get; } /// /// Determines whether the wrapper should be applied to the given test method. /// /// The test method to evaluate. /// True if the wrapper should wrap this test; otherwise, false. bool ShouldWrap(TestMethod test); /// /// Wraps the given test command with custom behavior. /// /// The test command to wrap. /// A new test command that wraps the original command. TestCommand Wrap(TestCommand command); } }