Как отключить инструментарий покрытия/сборки кода в Visual Studio 2012?

У меня есть проект, обновленный с Visual Studio 2010 до 2012, и файл .testrunconfig был включен в процесс обновления.

Я заметил, что можно было щелкнуть «Анализ покрытия кода» в любом из запущенных мной модульных тестов, и он правильно отобразил результат. Однако в моей конфигурации тестового запуска (исходно из VS 2010) было отключено покрытие кода.

Проведя небольшое исследование, я узнал, что файлы конфигурации VS 2010 устарели и заменены файлами .runsettings. Похоже, что VS 2012 по умолчанию применяет инструментарий сборки, что связано с огромными накладными расходами.

Поэтому я хотел бы знать, как отключить покрытие кода в VS 2012. Судя по моим текущим выводам, это не кажется тривиальной задачей. В одной недавней статье, которую я прочитал, я создал файл XML вручную и назвал его «MYCONFIGURATION.runsettings» и вручную манипулировал значениями атрибутов XML.

Кто-нибудь знает, как это должно быть сделано?


person Warren Rox    schedule 09.11.2012    source источник
comment
Да, вы должны добавить файл runsettings. Подробную информацию можно найти на странице msdn.microsoft.com/en-us/library/. jj159530.aspx .   -  person Davide Icardi    schedule 03.04.2013
comment
Спасибо за ваш ответ. Исследование, которое я изначально провел, привело меня к файлу runsettings. Кажется крайне странным, что покрытие кода включено по умолчанию, и нет простой операции с графическим интерфейсом, которую можно выполнить в VS2012, чтобы отключить его. Покрытие кода/инструментирование — чрезвычайно дорогая операция сборки, поэтому меня удивляет, почему Microsoft включила его по умолчанию. Как будто они хотят, чтобы вы вместо этого использовали NUnit :)   -  person Warren Rox    schedule 05.04.2013


Ответы (2)


Вот что я понял из вашего поста:

  • У вас есть тестовый проект с файлом .testsettings. Вы не включили покрытие кода в настройках теста.

Инструментарий покрытия кода не включен по умолчанию в вашем сценарии. Двоичные файлы будут инструментированы, если вы «анализируете покрытие кода» из VS.

Дополнительная информация: вы можете убедиться, что файл .coverage не создан, выполнив следующую команду из командной строки разработчика Visual Studio:

vstest.console.exe /Settings:<your test settings file> test.dll

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

person Hardik    schedule 12.11.2012

Покрытие кода включается только через обозреватель тестов с использованием адаптеров, управляемых данными. Метаданные для тестов, запущенных через обозреватель тестов, почти полностью отличаются от метаданных тестов, запущенных прямо из окна сеанса модульного тестирования. Вы пытались просто запустить его прямо из кода (пузыри графического интерфейса MSTest) или из окна сеанса модульного тестирования?

person John    schedule 09.11.2012