Xunit - проверяет возвращаемое значение метода List <P> - PullRequest
1 голос
/ 18 марта 2019

Я новичок в 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);
}

1 Ответ

2 голосов
/ 24 марта 2019

Как упоминалось в других комментариях, если никакие условия не выполняются, вы возвращаете пустой список вместо нулевого.

Таким образом, вы можете изменить свой тест на проверку пустой коллекции вместо нулевого, используя Assert.NotEmpty

[Fact()]
public void GetCountriesValues_TestCountriesReturn()
{
    var actual = mcTest.GetCountriesValues();
    Xunit.Assert.NotEmpty(actual);
}
...