docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class TestRunnerApi

    The TestRunnerApi retrieves and runs tests programmatically from code inside the project, or inside other packages. TestRunnerApi is a [ScriptableObject](https://docs.unity3d.com/ScriptReference/ScriptableObject.html). You can initialize the API like this:

    var testRunnerApi = ScriptableObject.CreateInstance<TestRunnerApi>();

    Note: You can subscribe and receive test results in one instance of the API, even if the run starts from another instance. The TestRunnerApi supports the following workflows: - [How to run tests programmatically](https://docs.unity3d.com/Packages/com.unity.test-framework@1.1/manual/extension-run-tests.html) - [How to get test results](https://docs.unity3d.com/Packages/com.unity.test-framework@1.1/manual/extension-get-test-results.html) - [How to retrieve the list of tests](https://docs.unity3d.com/Packages/com.unity.test-framework@1.1/manual/extension-retrieve-test-list.html)

    Inheritance
    object
    Object
    ScriptableObject
    TestRunnerApi
    Inherited Members
    ScriptableObject.SetDirty()
    ScriptableObject.CreateInstance(string)
    ScriptableObject.CreateInstance(Type)
    ScriptableObject.CreateInstance<T>()
    Object.GetEntityId()
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: UnityEditor.TestTools.TestRunner.Api
    Assembly: UnityEditor.TestRunner.dll
    Syntax
    public class TestRunnerApi : ScriptableObject

    Methods

    CancelTestRun(string)

    Cancel the test run with a given guid string. The guid string can be retrieved when executing the test run. The test run may take multiple frames to finish cleaning up from the test run. Any current active test will be marked as "Canceled" and any other remaining tests marked as "NotRun".

    Declaration
    public static bool CancelTestRun(string guid)
    Parameters
    Type Name Description
    string guid

    Test run guid string.

    Returns
    Type Description
    bool

    A boolean indicating whether canceling of the given job was successful. Canceling of a job will not be a success if no test job is found matching the guid, if the job is not currently or the job is already canceling.

    Execute(ExecutionSettings)

    Starts a test run with a given set of executionSettings.

    Declaration
    public string Execute(ExecutionSettings executionSettings)
    Parameters
    Type Name Description
    ExecutionSettings executionSettings

    Set of ExecutionSettings

    Returns
    Type Description
    string

    A GUID that identifies the TestJobData.

    RegisterCallbacks<T>(T, int)

    Sets up a given instance of ICallbacks to be invoked on test runs.

    Declaration
    public void RegisterCallbacks<T>(T testCallbacks, int priority = 0) where T : ICallbacks
    Parameters
    Type Name Description
    T testCallbacks

    The test callbacks to be invoked.

    int priority

    Sets the order in which the callbacks are invoked, starting with the highest value first.

    Type Parameters
    Name Description
    T

    Generic representing a type of callback.

    RegisterTestCallback<T>(T, int)

    Sets up a given instance of ICallbacks to be invoked on test runs.

    Declaration
    public static void RegisterTestCallback<T>(T testCallbacks, int priority = 0) where T : ICallbacks
    Parameters
    Type Name Description
    T testCallbacks

    The test callbacks to be invoked

    int priority

    Sets the order in which the callbacks are invoked, starting with the highest value first.

    Type Parameters
    Name Description
    T

    Generic representing a type of callback.

    RetrieveTestList(TestMode, Action<ITestAdaptor>)

    Retrieve the full test tree as ITestAdaptor for a given test mode. This is obsolete. Use TestRunnerApi.RetrieveTestTree instead.

    Declaration
    public void RetrieveTestList(TestMode testMode, Action<ITestAdaptor> callback)
    Parameters
    Type Name Description
    TestMode testMode

    The TestMode to retrieve the test list for.

    Action<ITestAdaptor> callback

    A callback that is invoked when the test tree is retrieved.

    SaveResultToFile(ITestResultAdaptor, string)

    Save a given set of ITestResultAdaptor in NUnit XML Format to a file at the provided file path. Any matching existing file is overwritten.

    Declaration
    public static void SaveResultToFile(ITestResultAdaptor results, string xmlFilePath)
    Parameters
    Type Name Description
    ITestResultAdaptor results

    Test results to write in a file.

    string xmlFilePath

    An xml file path relative to the project folder.

    UnregisterCallbacks<T>(T)

    Unregister an instance of ICallbacks to no longer receive callbacks from test runs.

    Declaration
    public void UnregisterCallbacks<T>(T testCallbacks) where T : ICallbacks
    Parameters
    Type Name Description
    T testCallbacks

    The test callbacks to unregister.

    Type Parameters
    Name Description
    T

    Generic representing a type of callback.

    UnregisterTestCallback<T>(T)

    Unregister an instance of ICallbacks to no longer receive callbacks from test runs.

    Declaration
    public static void UnregisterTestCallback<T>(T testCallbacks) where T : ICallbacks
    Parameters
    Type Name Description
    T testCallbacks

    The test callbacks to unregister.

    Type Parameters
    Name Description
    T

    Generic representing a type of callback.

    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)