Простой ответ: «Запустите каждый тест отдельно и соберите данные о тестовом покрытии для этого теста».
Способ организации, который может зависеть от конкретного инструмента покрытия тестов, и способ проведения тестов.
Для наших инструментов тестирования покрытия существует явный метод "TestCoverageDump", добавленный к вашему программному обеспечению на этапе инструментария тестирования покрытия. Обычно вызов этого метода вставляется в «основную» программу вашего приложения, поэтому при выходе из него вы получаете данные о покрытии тестов для любых выполненных тестов.
Для вашей задачи вы хотите изменить свой код выполнения модульного теста, чтобы после каждого теста он выполнял явный вызов
«TestCoverageDump», за которым следует «TestCoverageReset» (также вставлен), так что каждый тест получает свой собственный вектор. Как вы решите связать название теста с вектором полностью
под вашим контролем ценой незначительной корректировки кода «TestCoverageDump», поставляемого в исходном коде.
Наш инструмент для отображения тестового покрытия может легко комбинировать все отдельные векторы, чтобы дать вам общий обзор. Или вы можете просмотреть покрытие для любого конкретного вектора. Инструмент отображения также
позвольте вам сравнить покрытие из разных тестов (где они пересекаются? что один тест, а другой нет?)
Наличие этих данных покрытия для каждого теста также позволяет вам определить, какие тесты вам нужно запустить снова. Если вы измените код и повторно запустите инструментарий, он сообщит вам, какие векторы покрытия тестами (например, какие тесты) необходимо запустить снова, в зависимости от того, какой измененный код ранее охватывал вектор.