Как я настраиваю внутреннее состояние структуры данных во время поблочного тестирования?

Это может быть возможным решением:

    public static string GetValue(string myString,int position)
    {
        return myString.Split(',')[position - 1];
    }

    static void Main(string[] args)
    {
        string myItem = "22";
        Console.WriteLine(GetValue("1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27", 22));
        Console.ReadLine();  
    }  
12
задан nbro 3 April 2018 в 11:38
поделиться

3 ответа

Добавьте частное средство доступа для класса к Вашему тестовому проекту. Используйте средство доступа для установки частных собственностей класса некоторым известным способом вместо того, чтобы использовать методы классов, чтобы сделать так.

Также необходимо использовать SetUp и TearDown методы на Вашем тестовом классе для выполнения любых инициализаций, необходимых между тестами. Я на самом деле предпочел бы воссоздавать очередь в каждом тесте вместо того, чтобы снова использовать его между тестами для сокращения связи между тестовыми сценариями.

7
ответ дан 2 December 2019 в 22:07
поделиться

Теоретически, Вы только хотите протестировать единственную функцию за один раз. Однако, если у Вашей очереди только есть пара методов (Enqueue, Peek, Dequeue, Count) затем Вы вполне ограничены в видах тестов, которые можно сделать при использовании одного метода только.

Лучше, чтобы Вы не сверхспроектировали проблему и просто создали несколько простых тестовых сценариев (таких как тот выше) и создали к тому же для обеспечения соответствующего покрытия различных функций.

Я чувствую, что это соответствует тестам записи, которые покрывают несколько функций, пока у Вас есть что-то под этим, также повредится, если одна из использованных функций будет повреждена. Поэтому, если у Вас есть набор тестов, и Вы повреждаете Ваш Enqueue, очевидно, все Ваши тесты (или большинство из них перестанет работать), но Вы будете знать Enqueue повредился из-за Ваших самых простых тестов. Отношениями теста к его набору тестов нельзя пропустить.

3
ответ дан 2 December 2019 в 22:07
поделиться

Я думаю, что это в порядке, но очистите очередь в начале своего метода тестирования.

1
ответ дан 2 December 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: