Xunit - 检查方法List的返回值

问题描述 投票:1回答:1

我是Xunit的新手,我正在尝试对我创建的解决方案进行简单的Xunit测试,我有这个方法:

public List<Countries> GetCountriesValues()
{
    List<Countries> countries = new List<Countries>();

    using (var context = new CountriesDBEntities())
    {
        if (context != null && 
            context.Countries != null && 
            context.Countries.Count() > 0)
        {
            foreach (Countries c in context.Countries)
            {
                countries.Add(c);
            }
        }
    }
    return countries;
}

我正在尝试制作一个Xunit测试用例来验证返回值是否为null,但不知何故Assert NotNull没有通过,我该怎么办?

[TestMethod()]
public void GetCountriesValues_TestCountriesReturn()
{
    var actual = mcTest.GetCountriesValues();
    Xunit.Assert.NotNull(actual);
}
c# .net entity-framework unit-testing xunit
1个回答
2
投票

如其他注释中所述,如果没有满足条件,则返回空列表而不是null。

因此,您可以使用Assert.NotEmpty更改测试以检查空集合而不是null

[Fact()]
public void GetCountriesValues_TestCountriesReturn()
{
    var actual = mcTest.GetCountriesValues();
    Xunit.Assert.NotEmpty(actual);
}
© www.soinside.com 2019 - 2024. All rights reserved.