docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class LogAssert

    LogAssert lets you expect Unity log messages that would otherwise cause the test to fail. A test fails if Unity logs a message other than a regular log or warning message. Use LogAssert to check for an expected message in the log so that the test does not fail when Unity logs the message.

    Use LogAssert.Expect before running the code under test, as the check for expected logs runs at the end of each frame.

    A test also reports a failure, if an expected message does not appear, or if Unity does not log any regular log or warning messages.

    Inheritance
    object
    LogAssert
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.TestTools
    Assembly: UnityEngine.TestRunner.dll
    Syntax
    public static class LogAssert

    Properties

    ignoreFailingMessages

    Set this property to true to prevent unexpected error log messages from triggering an assertion. By default, it is false.

    Declaration
    public static bool ignoreFailingMessages { get; set; }
    Property Value
    Type Description
    bool

    The value of the ignoreFailingMessages boolean property.

    Methods

    Expect(string)

    Verifies that a log message of any type appears in the log. A test won't fail from an expected error, assertion, or exception log message. It does fail if an expected message does not appear in the log. If multiple LogAssert.Expect are used to expect multiple messages, they are expected to be logged in that order.

    Declaration
    public static void Expect(string message)
    Parameters
    Type Name Description
    string message

    A string value that should equate to the expected message.

    Examples
    [Test]
    public void LogAssertExample()
    {
        // Expect a log entry of any kind with this message
        LogAssert.Expect("Log message");
    
        // Logging the message does not cause the test to fail
        Debug.LogError("Log message");
    }

    Expect(Regex)

    Verifies that a log message of any type appears in the log. A test won't fail from an expected error, assertion, or exception log message. It does fail if an expected message does not appear in the log.

    Declaration
    public static void Expect(Regex message)
    Parameters
    Type Name Description
    Regex message

    A regular expression pattern to match the expected message.

    Expect(LogType, string)

    Verifies that a log message of a specified type appears in the log. A test won't fail from an expected error, assertion, or exception log message. It does fail if an expected message does not appear in the log. If multiple LogAssert.Expect are used to expect multiple messages, they are expected to be logged in that order.

    Declaration
    public static void Expect(LogType type, string message)
    Parameters
    Type Name Description
    LogType type

    A type of log to expect. It can take one of the LogType enum values.

    string message

    A string value that should equate to the expected message.

    Examples
    [Test]
    public void LogAssertExample()
    {
        // Expect a regular log message
        LogAssert.Expect(LogType.Log, "Log message");
    
        // The test fails without the following expected log message
        Debug.Log("Log message");
    
        // An error log
        Debug.LogError("Error message");
    
        // Without expecting an error log, the test would fail
        LogAssert.Expect(LogType.Error, "Error message");
    }

    Expect(LogType, Regex)

    Verifies that a log message of a specified type appears in the log. A test won't fail from an expected error, assertion, or exception log message. It does fail if an expected message does not appear in the log.

    Declaration
    public static void Expect(LogType type, Regex message)
    Parameters
    Type Name Description
    LogType type

    A type of log to expect. It can take one of the LogType enum values.

    Regex message

    A regular expression pattern to match the expected message.

    NoUnexpectedReceived()

    Triggers an assertion when receiving any log messages and fails the test if some are unexpected messages. If multiple tests need to check for no received unexpected logs, consider using the TestMustExpectAllLogsAttribute attribute instead.

    Declaration
    public static void NoUnexpectedReceived()
    In This Article
    Back to top
    Copyright © 2024 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)