Is

class in UnityEngine.TestTools.Constraints

切换到手册

描述

提供特定于 Unity 的约束类型以便与 NUnit 的 Assert.That 方法一起使用。

NUnit 允许测试编写者使用 Assert.That() 方法编写断言,其中第一个参数是被测对象,第二个参数描述对象必须满足的条件。这些断言通常可以用人类可读的样式表示,例如 Assert.That(3, Is.Not.EqualTo(2))

Unity 使用一些自定义的 Unity 特有约束类型来扩展 NUnit 的机制,并将此“Is”类声明为 NUnit 之上的叠加类。为了解决 NUnit 自己的 Is 类和 Unity 的此类之间的歧义,必须在 using 语句中显式声明此类,如下所示:

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

class MyTestClass { [Test] public void MyTest() { Assert.That(() => { var i = new int[500]; }, Is.AllocatingGCMemory()); } }

静态函数

AllocatingGCMemory声明一个约束使提供的委托分配 GC 内存。