Я пытаюсь использовать TDD при написании класса, который должен анализировать XML-документ. Предположим, что класс называется XMLParser, а его конструктор принимает строку для пути к XML-файлу для разбора. Я хотел бы иметь метод Load(), который пытается загрузить этот XML в память и выполняет несколько проверок в файле, таких как ошибки файловой системы, независимо от того, является ли файл XML и т. Д.Альтернативы тестированию частных методов в TDD
Мой вопрос: об альтернативах: я читал, что это плохая практика, чтобы иметь частные методы, которые вам нужно протестировать, и что вы должны просто проверить открытый интерфейс и позволить частным методам делать свою работу. Но в этом случае эта функциональность очень важна, и я не думаю, что она должна быть общедоступной.
У кого-нибудь есть хороший совет для такого сценария?
Спасибо, Дэниэл. Можете ли вы подробно остановиться на # 1? Мне нравится идея перетащить № 2 и №3 эти задачи в тестируемые, но отдельные классы. – Monochrome
@Monochromatic: Я не совсем понимаю вопрос в вашем комментарии. Эти три момента не являются «ни-либо» или «вариантами», вам нужно использовать их вместе. Сказав это, что не ясно с первого шага? –