docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface IPrebuildSetupWithTestData

    Implement this interface if you want to define a set of actions to run as a pre-build step.

    Namespace: UnityEngine.TestTools
    Assembly: UnityEngine.TestRunner.dll
    Syntax
    public interface IPrebuildSetupWithTestData

    Methods

    Setup(TestData)

    Implement this method to call actions automatically before the build process.

    Declaration
    void Setup(TestData testData)
    Parameters
    Type Name Description
    TestData testData

    The test data associated with the test run that is about to start.

    Examples
    [TestFixture]
    public class CreateSpriteTest : IPrebuildSetupWithTestData
    {
        Texture2D m_Texture;
        Sprite m_Sprite;
    
        public void Setup(TestData testData)
        {
            #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.height), 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.

    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)