Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于返回列表的XUnit测试,以查看是否正在返回列表_C#_Tdd_Xunit - Fatal编程技术网

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);