first commit
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Custom constraints
|
||||
|
||||
`NUnit` allows you to write test assertions in a more descriptive and human readable way using the [Assert.That](https://github.com/nunit/docs/wiki/Assertions) 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
|
||||
|
||||
```c#
|
||||
using Is = UnityEngine.TestTools.Constraints.Is;
|
||||
|
||||
class MyTestClass
|
||||
{
|
||||
[Test]
|
||||
public void MyTest()
|
||||
{
|
||||
Assert.That(() => {
|
||||
var i = new int[500];
|
||||
}, Is.AllocatingGCMemory());
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user