Unit test объекты-обертки? - программирование
Подтвердить что ты не робот

Unit test объекты-обертки?

Я пытаюсь использовать TDD как можно больше. Когда я это делаю, я убираю все общение с окружающими в классах обертки. Несколько минут назад я создал оболочку для статического класса Directory, поэтому я могу проверить свой другой код, не разговаривая с реальной файловой системой.

Но как насчет модульного тестирования самой оболочки? Так как я использую TDD, это задевает меня, что я не написал для этого тестов. С другой стороны, это оболочка и ничего больше, так что мне действительно нужно?

4b9b3361

Ответ 1

Я стараюсь делать то же самое и не беспокоиться об классах обертки для тестирования модулей, если я убедился, что они содержат минимальный код. Если, как и в вашем случае, я вызывал несколько методов в классе Directory, я бы создал интерфейс, содержащий каждый из методов, которые я использовал бы, чтобы убедиться, что я могу протестировать большую часть поведение моей системы под контролем.

Пока вы используете интеграционные и/или приемочные тесты, отлично не unit test ваши классы-оболочки непосредственно. Если вы попытаетесь протестировать Directory, то это будет интеграционный тест. Я хотел бы спросить себя, был ли у меня автоматический тест на каком-то уровне, который потерпит неудачу, если я удалю взаимодействие с классом Directory из моего кода.

Имейте в виду, что причина, по которой вы обычно вынуждены писать классы-оболочки, состоит в том, что код, который вы пытаетесь протестировать, по своей сути не может быть проверен и является зависимостью, которую нельзя издеваться. Создание класса-оболочки позволяет обмануть поведение.