docs.unity.cn
    Show / Hide Table of Contents

    Class ConditionalIgnoreAttribute

    This attribute is an alternative to the standard Ignore attribute in NUnit. It allows for ignoring tests only under a specified condition. The condition evaluates during OnLoad, referenced by ID.

    Inheritance
    Object
    ConditionalIgnoreAttribute
    Namespace: UnityEngine.TestTools
    Syntax
    public class ConditionalIgnoreAttribute : NUnitAttribute, IApplyToTest

    Constructors

    ConditionalIgnoreAttribute(String, String)

    Initializes a new instance of the ConditionalIgnoreAttribute class with a condition key.

    Declaration
    public ConditionalIgnoreAttribute(string conditionKey, string ignoreReason)
    Parameters
    Type Name Description
    String conditionKey

    The key to check for enabling the conditional ignore. The condition is set with the static AddConditionalIgnoreMapping(String, Boolean) method.

    String ignoreReason

    The reason for the ignore.

    Methods

    AddConditionalIgnoreMapping(String, Boolean)

    Adds a flag indicating whether tests with the same key should be ignored.

    Declaration
    public static void AddConditionalIgnoreMapping(string key, bool value)
    Parameters
    Type Name Description
    String key

    The key to ignore tests for.

    Boolean value

    A boolean value indicating whether the tests should be ignored.

    Examples

    An example in which tests are ignored in the Mac editor only.

    using UnityEditor;
    using NUnit.Framework;
    using UnityEngine.TestTools;
    
    [InitializeOnLoad]
    public class OnLoad
    {
        static OnLoad()
        {
            var editorIsOSX = false;
            #if UNITY_EDITOR_OSX
            editorIsOSX = true;
            #endif
    
            ConditionalIgnoreAttribute.AddConditionalIgnoreMapping("IgnoreInMacEditor", editorIsOSX);
        }
    }
    
    public class MyTestClass
    {
        [Test, ConditionalIgnore("IgnoreInMacEditor", "Ignored on Mac editor.")]
        public void TestNeverRunningInMacEditor()
        {
            Assert.Pass();
        }
    }

    ApplyToTest(Test)

    Modifies a test as defined for the specific attribute.

    Declaration
    public void ApplyToTest(Test test)
    Parameters
    Type Name Description
    Test test

    The test to modify

    Back to top Copyright © 2022 Unity Technologies
    Generated by DocFX
    on Tuesday, July 19, 2022
    Terms of use