docs.unity.cn
    Show / Hide Table of Contents

    Class PrebuildSetupAttribute

    PrebuildSetup attribute run if the test or test class is in the current test run. The test is included either by running all tests or setting a filter that includes the test. If multiple tests reference the same pre-built setup or post-build cleanup, then it only runs once.

    Inheritance
    Object
    Attribute
    PrebuildSetupAttribute
    Namespace: UnityEngine.TestTools
    Syntax
    [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)]
    public class PrebuildSetupAttribute : Attribute, _Attribute

    Constructors

    PrebuildSetupAttribute(String)

    Declaration
    public PrebuildSetupAttribute(string targetClassName)
    Parameters
    Type Name Description
    String targetClassName
    Examples
    [TestFixture]
    public class CreateSpriteTest : IPrebuildSetup
    {
        Texture2D m_Texture;
        Sprite m_Sprite;
    
        public void Setup()
        {
    
            #if UNITY_EDITOR
    
            var spritePath = "Assets/Resources/Circle.png";
            var ti = UnityEditor.AssetImporter.GetAtPath(spritePath) as UnityEditor.TextureImporter;
            ti.textureCompression = UnityEditor.TextureImporterCompression.Uncompressed;
            ti.SaveAndReimport();
    
            #endif
        }
    
        [SetUp]
        public void SetUpTest()
        {
            m_Texture = Resources.Load<Texture2D>("Circle");
        }
    
        [Test]
        public void WhenNullTextureIsPassed_CreateShouldReturnNullSprite()
        {
    
            // Check with Valid Texture.
            LogAssert.Expect(LogType.Log, "Circle Sprite Created");
            Sprite.Create(m_Texture, new Rect(0, 0, m_Texture.width, m_Texture.height), new Vector2(0.5f, 0.5f));
            Debug.Log("Circle Sprite Created");
    
            // Check with NULL Texture. Should return NULL Sprite.
            m_Sprite = Sprite.Create(null, new Rect(0, 0, m_Texture.width, m_Texture.heig`t), new Vector2(0.5f, 0.5f));
            Assert.That(m_Sprite, Is.Null, "Sprite created with null texture should be null");
        }
    }

    Tip: Use #if UNITY_EDITOR if you want to access Editor only APIs, but the setup/cleanup is inside a Play Mode assembly.

    PrebuildSetupAttribute(Type)

    Initializes and returns an instance of PrebuildSetupAttribute by type.

    Declaration
    public PrebuildSetupAttribute(Type targetClass)
    Parameters
    Type Name Description
    Type targetClass

    The type of the target class.

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