NUnit有两种模式的Assert,一种模式是That模式,这种模式的特点是非常灵活;另一种模式是函数式,有很多个小函数,这些小函数的实现其实都是基于That模式。小函数模式使用起来更加直观简洁。
有一些断言只能使用That实现。
int[] array = { 1, 2, 3 };
Assert.That(array, Has.Exactly(1).EqualTo(3));
Assert.That(array, Has.Exactly(2).GreaterThan(1));
Assert.That(array, Has.Exactly(3).LessThan(100));
有一些断言使用小函数和That都能实现,That的功能是小函数功能的超集。
Assert.AreEqual(4, 2 + 2);
Assert.That(2 + 2, Is.EqualTo(4));
常用的断言类
- Assert:最基础的断言
- StringAssert:与字符串这种类型相关的断言
- CollectionAssert:集合断言
- FileAssert:文件断言
- DirectoryAssert:目录断言
如果自定义的类想要实现统一的断言,类的命名上可以使用XXXAssert的形式。