AllocatingGCMemoryConstraint

class in UnityEngine.TestTools.Constraints

切换到手册

描述

一个 NUnit 测试约束类,用于测试给定的代码块是否进行任何 GC 分配。

将此类与 NUnit 的 Assert.That() 方法一起使用,可进行与代码的 GC 行为相关的断言。该约束会执行您提供的委托,并检查其是否已导致分配任何 GC 内存。如果分配了任何 GC 内存,则约束通过;否则,约束未通过。

通常,应否定此约束以确保您的委托不分配任何 GC 内存。使用 Is 类很容易做到这一点:

using NUnit.Framework;
using UnityEngine.TestTools.Constraints;
using Is = UnityEngine.TestTools.Constraints.Is;

public class MyTestClass { [Test] public void SettingAVariableDoesNotAllocate() { Assert.That(() => { int a = 0; a = 1; }, Is.Not.AllocatingGCMemory()); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961