Это довольно простой вопрос в отношении модульного тестирования.Единичное тестирование - тот же метод, но для разных тестовых данных
У меня есть способ, например. GetOrderDetails, который вызывает репозиторий для получения сведений о заказе. У меня есть ложный репозиторий, который можно настроить для возврата ответов на акции.
Для метода тестирования GetOrderDetails, я по крайней мере использовать следующие случаи -
Repository вызов неудачен
- с кодом ошибки
- с Exception
Целевое назначение репозитория
- возвращается нулевой результатом
- возвращенных один результат
- возвращенных более одного результата
Должен ли я писать один метод испытаний для тестирования выше сценариев или он должен быть действительно индивидуальный методом испытания каждый из приведенных выше сценариев?
я считаю, разбить его на несколько методов испытаний, по крайней мере обеспечивают следующие преимущества 1. выше изоляции в случае сбоев тестов 2. количество кода в методе испытаний менее метод 3. каждый тест будет имеют единую ответственность за установку хранилища, например либо установка без результата, либо настройка для нескольких результатов и т. д.
Не могли бы вы помочь с вашими взглядами вокруг этого?
Дарин, спасибо. Upvoted. Я думал о том же, что и ты. Отличный комментарий о операторах if/switch. Все мои тесты организованы так, как указано выше, поэтому никаких проблем с этим. По отдельному модульному тесту вы имеете в виду отдельный метод испытаний или отдельный испытательный класс? – byte 2010-12-06 16:34:44
@byte, я имею в виду отдельный тест способ. Вы бы использовали отдельный тестовый класс для другого тестируемого типа. – 2010-12-06 16:46:59
спасибо. Пожелательно, чтобы убедиться, что по единичному тесту вы имели в виду метод тестирования, тестовый класс или и то, и другое. оцените ваш ответ. – byte 2010-12-06 18:57:41