Это довольно простой вопрос о модульном тестировании.
У меня есть метод, например GetOrderDetails, который вызывает репозиторий для получения деталей заказа. У меня есть фиктивный репозиторий, который можно настроить так, чтобы он возвращал стоковые ответы.
Для тестирования метода GetOrderDetails я по крайней мере буду использовать следующие случаи -
Ошибка вызова репозитория
- с кодом ошибки
- с исключением
Успешный вызов репозитория
- вернул ноль результата
- вернул один результат
- вернул более одного результата
Должен ли я писать один метод тестирования для тестирования вышеуказанных сценариев или это действительно отдельный метод тестирования для каждого из приведенных выше сценариев?
Я полагаю, если разбить его на несколько методов испытаний, это обеспечит как минимум следующие преимущества
1. более высокая изоляция в случае неудачных испытаний
2. количество кода в тестовом методе меньше
3. каждый метод тестирования будет нести ответственность за настройку одного репозитория, например либо настройка на отсутствие результата, либо настройка на несколько результатов и т. д.
Не могли бы вы помочь с вашими взглядами на это?