{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} MonoBehaviour tests | Test Framework | 1.1.33
docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    MonoBehaviour tests

    MonoBehaviourTest is a coroutine and a helper for writing MonoBehaviour tests.

    Yield a MonoBehaviourTest when using the UnityTest attribute to instantiate the MonoBehaviour you wish to test and wait for it to finish running. Implement the IMonoBehaviourTest interface on the MonoBehaviour to state when the test completes.

    Example

    [UnityTest]
    public IEnumerator MonoBehaviourTest_Works()
    {
        yield return new MonoBehaviourTest<MyMonoBehaviourTest>();
    }
    
    public class MyMonoBehaviourTest : MonoBehaviour, IMonoBehaviourTest
    {
        private int frameCount;
        public bool IsTestFinished
        {
            get { return frameCount > 10; }
        }
    
         void Update()
         {
            frameCount++;
         }
    }
    

    MonoBehaviourTest<T>

    This is a wrapper that allows running tests on MonoBehaviour scripts. Inherits from CustomYieldInstruction.

    Properties

    Syntax Description
    T component A MonoBehaviour component created for the test and attached to the test’s GameObject.
    GameObject gameObject A GameObject created as a container for the test component.
    bool keepWaiting (Inherited) Returns true if the test is not finished yet, which keeps the coroutine suspended.

    IMonoBehaviourTest

    An interface implemented by a MonoBehaviour test.

    Properties

    Syntax Description
    bool IsTestFinished Indicates when the test is considered finished.
    In This Article
    • Example
    • MonoBehaviourTest<T>
      • Properties
    • IMonoBehaviourTest
      • Properties
    Back to top
    Copyright © 2023 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)