我正在学习单元测试,并且正在努力掌握如何测试以查看是否返回列表类型,不一定要查看列表的内容,而是要确保其返回的是列表。
返回空字符串列表
public List<string> GetList()
{
var names = new List<string>();
return names;
}
我的测试,尝试返回typeofList:
[Fact]
public void GetListTest()
{
Assert.Equal(typeof(List<string>), GetList());
}
这里
Assert.Equal(typeof(List<string>), GetList());
您正在测试字符串列表的类型是否与实际列表相同。您正在将苹果与橙子进行比较。您可以这样做:
Assert.Equal(typeof(List<string>), GetList().GetType());
此外,您可以构造复合逻辑准则并断言等于的逻辑准则,因此您可以检查类型是否为期望的准则,并且在同一测试中为空。
我相信这个软件包可以为您提供帮助:
https://github.com/shouldly/shouldly
有时,断言可能很难理解正在发生的事情。 Shouldly
使断言更加容易。
使用Shouldly
,您可以像这样进行检查类型:
yourList.ShouldBeOfType<List<string>>();
如果yourList
的类型与List<string>
相匹配,它将返回true
。如果不是,请输入false
。您也可以从nuget安装Shouldly
。
使用此软件包,您可以将Assert.Equal
重构为类似的内容:
yourObject.yourProperty.ShouldBe("Some Stirng To Compare 'yourProperty;");