Это еще один вопрос модульного тестирования. Я пытаюсь извлечь знания из ряда мест о том, как действовать, и я хотел отразить свое текущее понимание из коллекции экспертов здесь.
предположим, что проект, для которого все зависимости, кроме функций opengl, статически связаны (кроме времени выполнения c)
Мое текущее понимание:
Можно создавать модульные тесты, которые проверяют только открытый интерфейс классов, потому что в конечном итоге класс является наиболее разумным для тестирования модулем. Оттуда можно выследить проблемы (внутри класса-нарушителя), и класс, который слишком сложен для отладки и требует модульного тестирования его внутренних структур, является хорошим кандидатом на его устранение.
Эта практика позволяет писать модульные тесты в собственном проекте с точки зрения Visual Studio.
Инструмент покрытия кода, такой как CoverageMeter, установлен в основном проекте и имеет собственную конфигурацию сборки, такую как test вместо debug. Это поместит метрики в объектный код для внешнего инструмента «просмотра» для получения метрик.
В то же время основное приложение создается как библиотека в конфигурации Test, поэтому внешний тестовый модуль Project использует объектный код для запуска своих тестов. В то же время, код CoverageMeter включен в библиотеку, которую использует для тестирования проект модульного теста, что позволяет метрикам покрытия измерять, сколько кода выполняется в модульных тестах.
С конфигурацией тестирования, сделанной отдельно от выпуска или отладки, библиотеки заполнителей могут использоваться для разрыва зависимостей, таких как opengl.
Мои вопросы действительно следующие:
Этот пирог в небе?
Правильно ли я понимаю?
могу ли я на самом деле сделать первое предложение 3, это то, как я могу получить код модульного теста для запуска сборки объектного кода в основном проекте приложения, или есть другой способ?
Я ненормальный?
Я открыт для любой критики.
Заранее спасибо за ваше время.
ОБНОВЛЕНИЕ: Похоже, у меня есть правильное представление о том, что нужно делать в моих модульных тестах, но меня беспокоит вопрос 3. Правильно ли я понимаю эти компоненты?
Спасибо за ваши ответы. Это хорошо, чтобы получить обратную связь! Это будет мой первый большой проект, и я пытаюсь понять все вовлеченные части. Я ценю указатели!
Josh