C# 用于返回列表的XUnit测试,以查看是否正在返回列表
我正在学习单元测试,我正在努力掌握如何测试一种类型的列表是否正在返回,不一定是列表的内容,而是确保它是一个正在返回的列表 返回字符串的空列表C# 用于返回列表的XUnit测试,以查看是否正在返回列表,c#,tdd,xunit,C#,Tdd,Xunit,我正在学习单元测试,我正在努力掌握如何测试一种类型的列表是否正在返回,不一定是列表的内容,而是确保它是一个正在返回的列表 返回字符串的空列表 public List<string> GetList() { var names = new List<string>(); return names; } public List GetList() { 变量名称=新列表(); 返回姓名; } 我的测试,尝试返回类型列
public List<string> GetList()
{
var names = new List<string>();
return names;
}
public List GetList()
{
变量名称=新列表();
返回姓名;
}
我的测试,尝试返回类型列表:
[Fact]
public void GetListTest()
{
Assert.Equal(typeof(List<string>), GetList());
}
[事实]
public void GetListTest()
{
等于(typeof(List),GetList());
}
这里
Assert.Equal(typeof(List),GetList());
您正在测试字符串列表的类型是否与实际列表相同。你在拿苹果和桔子作比较。您可以这样做:
Assert.Equal(typeof(List<string>), GetList().GetType());
Assert.Equal(typeof(List),GetList().GetType());
此外,您还可以构造复合逻辑条件并断言与这些条件相等,以便在同一测试中检查类型是否为预期类型且为空。我相信此软件包可以帮助您: 断言有时很难理解发生了什么<代码>应该简化断言 使用
Shouldly
可以进行如下检查类型:
yourList.ShouldBeOfType<List<string>>();
和int的示例:
yourInteger.ShouldBe(10);
GetList().GetType()
…我不觉得自己很愚蠢。谢谢乔尼,我想我该上床睡觉了:基本上这不是你的问题的答案,但是请你考虑一下这个答案:)非常感谢@michasaucer你是对的,这不是一个实际的答案,但值得投票。
yourObject.yourProperty.ShouldBe("Some Stirng To Compare 'yourProperty;");
yourInteger.ShouldBe(10);