高级约束使用
大的流畅断言确实变得难以阅读,但是当与具有良好实现 ToString()
的类组合时,它们可以生成非常有用的错误消息。
[Test]
public void AdvancedContraintsGiveUsefulErrorMessages() {
Assert.That(actualCollection, Has
.Count.EqualTo(4)
.And.Exactly(1).Property("Age").GreaterThan(60)
.And.Some.Property("Address").Null
.And.No.Property("Age").LessThanOrEqualTo(17));
}
失败时,此断言会生成如下消息:
Expected: property Count equal to 4 and exactly one item property Age greater
than 60 and some item property Address null and not property Age less than or
equal to 17
But was: < <Steve Taylor (23) lives in Newcastle
>, <Michelle Yung (65) lives in San Francisco
>, <Ranjit Saraman (49) lives in Milano
>, <LaChelle Oppenheimer (16) lives in
> >