С чего начать модульное тестирование на C #?

#c# #unit-testing

#c# #модульное тестирование

Вопрос:

У меня есть простая задача отобразить объект fruit на основе определенных условий. Например, если мне нужно показать банан, мне нужно убедиться, что другие фрукты не отображаются.

Для простоты предположим, что это 4 возможных результата. Нужно ли мне тестировать все возможные комбинации?

Тест1, если банан не клубничный
Тест2, если банан не яблочный
И т.д.

Ответ №1:

Вам нужно протестировать столько комбинаций, сколько существует путей к коду, наверняка. Если нет кода, специфичного для strawberry или Apple, то вам не нужно тестировать как banana v. strawberry, так и banana v. apple. Но если для данного фрукта есть другой код, вам нужно протестировать его, а также один из других; и если есть другой код, основанный на количестве фруктов, тогда вам нужно протестировать 0, 1, 2, N-1, N и N 1, независимо от наибольшего значения N . В общем, вам нужно протестировать достаточно, чтобы убедить себя, что дополнительные тесты не помогут.

Ответ №2:

Зависит от нескольких факторов. Но одним из способов было бы просто убедиться, что у вас есть banana только тогда, когда вы ожидаете банан. Я уверен, что между типами есть различия, поэтому вы можете утверждать об этом (например, утверждать, что имена всех объектов являются только «банановыми»).

Ответ №3:

Это зависит от того, способен ли ваш код отображать более одного фрукта одновременно (случайно или иным образом). Чрезвычайно безопасным выбором было бы «Да, протестируйте все!»