Xunit笔记-Asserts
Assert做什么?
Assert基于代码的返回值、对象的最终状态、事件是否发生等情况来评估测试的结果。Assert的结果可能是Pass或者Fail。如果所有的asserts都pass了,那么整个测试就pass了;如果有任何assert fail了,那么测试就fail了。
xUnit提供了以下类型的Assert:
boolean:True/False
String:相等/不等,是否为空,以..开始/结束,是否包含子字符串,匹配正则表达式
数值型:相等/不等,是否在某个范围内,浮点的精度
Collection:内容是否相等,是否包含某个元素,是否包含满足某种条件(predicate)的元素,是否所有的元素都满足某个assert
Raised events:Custom events,Framework events(例如:PropertyChanged)
Object Type:是否是某种类型,是否某种类型或继承与某种类型
部分方法:
Assert.True(p.IsMan)
Assert.False(p.IsMan)
Assert.Equal("Nick Carter", p.FullName);//相等
Assert.StartsWith("Nick", p.FullName);//开头
Assert.EndsWith("Carter", p.FullName);//结尾
Assert.Contains("ck Ca", p.FullName);//包含子字符串
Assert.Matches("[A-Z]{1}{a-z}+ [A-Z]{1}[a-z]+", p.FullName);//正则表达式
Assert.InRange(p.BloodSugar, 5, 6);//范围
Assert.ThrowsAsync<NullReferenceException>(() => { throw new NullReferenceException("t3"); });//Assert异常