Работа с объединенными данными о покрытии кода
Как описано в разделе Практическое руководство. Объединение данных об объеме покрытия кода, данные о покрытии кода, полученные в нескольких тестовых запусках или от разных тест-инженеров, можно объединить. Можно также сохранить результат объединения данных о покрытии кода и впоследствии импортировать его. В следующих подразделах описаны аспекты работы с данными о покрытии кода.
Ограничения при объединении результатов тестов
В следующем списке выделены наиболее распространенные ограничения, которые могут возникнуть при объединении и импорте данных о покрытии кода.
Импорт данных XML. При импорте данных о покрытии кода из XML-файла можно просматривать статистику только по покрытию строк. Просмотр статистики по покрытию блоков невозможен. Дополнительные сведения см. в разделе Экспорт и импорт объединенных результатов тестов.
Объединение данных тестовых запусков. При объединении результатов тестов, включающих тестовые запуски ASP.NET, в окне "Результаты покрытия кода" данные для артефактов ASP.NET отображаются в отдельном узле, содержащем отдельные вычисления. Дополнительные сведения см. в разделе Объединение данных о результатах тестов ASP.NET.
Перекомпиляция кода между тестовыми запусками. Если перекомпилировать рабочий код между тестовыми запусками и затем попытаться объединить полученные результаты, объединение может завершиться неудачно. Дополнительные сведения см. в разделе Импорт файлов данных о покрытии кода.
Экспорт и импорт объединенных результатов тестов
После объединения результатов тестов их можно сохранить посредством экспорта данных в XML-файл. Дополнительные сведения об экспорте см. в разделе Практические примеры: Export Test Results.
XML-файл содержит все объединенные данные о покрытии кода, и эти данные можно просмотреть, выполнив импорт файла. Данные включают статистику по строкам кода и по блокам кода.
Примечание
Столбцы в окне "Покрытие кода" можно настроить так, чтобы в них отображались различные данные о строках и блоках кода, например процент строк кода, покрытых, непокрытых и частично покрытых во время тестирования.
Однако, если импортировать XML-файл и затем объединить его с дополнительными данными о покрытии кода, сохраняется только статистика о покрытии строк, а статистика по блокам оказывается недоступной.
Объединение данных о результатах тестов ASP.NET
Результаты одного или нескольких тестовых запусков ASP.NET можно объединить, однако тогда данные ASP.NET в окне "Результаты покрытия кода" будут отображаться в разделе Объединенные результаты в различных узлах, а не в одном объединенном узле. Это означает, что, хотя в окне результатов покрытия кода отображаются данные по всем выбранным тестовым запускам, включая запуски, содержащие тесты ASP.NET, статистические расчеты, необходимые для объединения данных о покрытии кода ASP.NET, не выполняются. Таким образом, данные по тестам ASP.NET отображаются для каждого тестового запуска в отдельных узлах и не объединяются в одном узле.
Это ограничение имеет силу только для тестов ASP.NET. В ходе тестовых запусков ASP.NET данные о покрытии кода могут собираться во время тестирования других двоичных файлов, в том числе библиотек DLL, на которые ссылается проект ASP.NET, и сборок, добавленных в проект ASP.NET. В таких случаях данные о покрытии кода для отдельного двоичного файла отображаются в одном объединенном узле в разделе Объединенные результаты.
Импорт файлов данных о покрытии кода
Собираемые данные о покрытии кода сохраняются в собственном формате в файле с расширением COVERAGE. При просмотре данных о покрытии кода после завершения тестового запуска среда Visual Studio отображает их, открывая результирующий COVERAGE-файл. Кроме того, Visual Studio связывается с расширением имени файла .coverage. А это означает, что если дважды щелкнуть такой файл в проводнике, файл автоматически откроется в Visual Studio.
Результаты теста, включая данные о покрытии кода, сохраняются в XML-формате, только если их экспортировать явным образом. Данные о покрытии кода экспортируются в XML-файл лишь с целью объединения нескольких результатов тестирования покрытия кода.
COVERAGE-файл можно импортировать, нажав кнопку Импорт в панели инструментов окна "Результаты покрытия кода". При импорте такого файла следует принять во внимание следующие замечания.
Чтобы открыть COVERAGE-файл, среде Visual Studio необходимо найти на диске инструментированные сборки и связанные с ними файлы отладочной базы данных программы с расширением PDB.
При импорте файлы этого типа Visual Studio выполняет поиска каталога, содержащего COVERAGE-файл, и каталога, в котором находятся тестируемые сборки. Для этого в Visual Studio используются переменные _NT_SYMBOL_PATH и VSCOVER_BINPATH. Если для переменной _NT_SYMBOL_PATH установлено значение каталога, содержащего символы, а для переменной VSCOVER_BINPATH — значение каталога со сборками, Visual Studio может найти файлы и открыть COVERAGE-файл. Однако, если среде Visual Studio не удается найти символы или сборки по одному из указанных путей, COVERAGE-файл не может быть открыт. При непосредственном импорте COVERAGE-файла необходимо учесть важность этих путей и параметров переменных.
XML--файлы, содержащие результаты тестов, не создаются подобных сложностей. XML-файл самодостаточен, для него не требуется открывать сборки или PDB-файлы.
При импорте нескольких COVERAGE-файлов можно просматривать статистику по блокам и по строкам. Однако, если данные о покрытии кода импортируются в обоих форматах, то есть COVERAGE и XML, то доступна лишь статистика по строкам.
См. также
Задачи
Практическое руководство. Получение данных о покрытии кода
Практическое руководство. Объединение данных об объеме покрытия кода