Поделиться через


Работа с объединенными данными о покрытии кода

Как описано в разделе Практическое руководство. Объединение данных об объеме покрытия кода, данные о покрытии кода, полученные в нескольких тестовых запусках или от разных тест-инженеров, можно объединить. Можно также сохранить результат объединения данных о покрытии кода и впоследствии импортировать его. В следующих подразделах описаны аспекты работы с данными о покрытии кода.

Ограничения при объединении результатов тестов

В следующем списке выделены наиболее распространенные ограничения, которые могут возникнуть при объединении и импорте данных о покрытии кода.

  • Импорт данных 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, то доступна лишь статистика по строкам.

См. также

Задачи

Практическое руководство. Получение данных о покрытии кода

Практическое руководство. Объединение данных об объеме покрытия кода

Практические примеры: Export Test Results

Практические примеры: Import Test Results