reference-custom-constraints.md 1.3 KB

Custom constraints

NUnit allows you to write test assertions in a more descriptive and human readable way using the Assert.That mechanism, where the first parameter is an object under test and the second parameter describes conditions that the object has to meet.

Is

We’ve extended NUnit API with a custom constraint type and declared an overlay Is class. To resolve ambiguity between the original implementation and the custom one you must explicitly declare it with a using statement or via addressing through the full type name UnityEngine.TestTools.Constraints.Is.

Static Methods

Syntax Description
AllocatingGCMemory A constraint type that invokes the delegate you provide as the parameter of Assert.That and checks whether it causes any GC memory allocations. It passes if any GC memory is allocated and fails if not.

Example

using Is = UnityEngine.TestTools.Constraints.Is;

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