Тест XUnit для проверки, возвращается ли список - PullRequest
2 голосов
/ 05 февраля 2020

Я изучаю модульное тестирование и изо всех сил пытаюсь узнать, как мы можем проверить, возвращает ли тип списка не обязательно содержимое списка, но чтобы убедиться, что это LIST, который находится в процессе. возвращено.

Возвращение пустого списка строк

    public List<string> GetList()
    {
        var names = new List<string>();

        return names;
    }

Мой тест, при попытке вернуть typeofList:

    [Fact]
    public void GetListTest()
    {
        Assert.Equal(typeof(List<string>), GetList());
    }

Ответы [ 2 ]

2 голосов
/ 05 февраля 2020

Я верю, что этот пакет может помочь вам:

https://github.com/shouldly/shouldly

Утверждение иногда бывает сложно понять, что происходит. Shouldly сделать утверждения проще.

С помощью Shouldly вы можете выполнить проверку типов следующим образом:

yourList.ShouldBeOfType<List<string>>();

, если тип yourList соответствует List<string>, он вернет true. Если нет, false. Вы также можете установить Shouldly из nuget.

С помощью этого пакета вы можете изменить Assert.Equal на что-то вроде:

yourObject.yourProperty.ShouldBe("Some Stirng To Compare 'yourProperty;");

и, например, int:

yourInteger.ShouldBe(10);
1 голос
/ 05 февраля 2020

Здесь

Assert.Equal(typeof(List<string>), GetList());

вы проверяете, совпадает ли тип списка строк с фактическим списком. Вы сравниваете яблоки с апельсинами. Вы можете сделать это:

Assert.Equal(typeof(List<string>), GetList().GetType());

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

...