0

Я пытаюсь получить покрытие кода в cruisecontrol.net. Использование следующего сценария NANT:получить процент покрытия кода в cruisecontrol.net C#

<target name="code_coverage" description="finds the code covered with tests"> 
    <exec program="${vstest_console}"> 
    <arg value="/Settings:CodeCoverage.runsettings" /> 
    <arg value="/EnableCodeCoverage" /> 
    <arg value="Tests.dll"/> 
    </exec> 
</target> 

Я могу получить файл .coverage. Прежде всего, имя файла .coverage поступает как имя пользователя, добавленное с текущим временем даты, и под папкой, названной случайным образом. В документации файла .runsettings мне не удалось найти ничего об изменении имени файла .coverage. Мне нужно изменить имя этого файла. Большая проблема заключается в том, что создается подпапка с некоторым именем типа GUID, в который сбрасывается файл покрытия, и изменяется каждый раз при запуске теста с включенным кодом.

Во-вторых, кто-нибудь может помочь мне в извлечении покрытого процентного процента из этого. Мне просто нужно сбить сборку, если охват ниже точки. Много помощи доступно в Google, но есть VS 2010 и раньше. Мне нужна помощь для VS 2012 или VS 2013. В настоящее время я работаю над VS 2013 Ultimate и использую файл .runsettings для покрытия кода.

ответ

0

Я до сих пор используют старые MSTest, но в файлах testsettings, был/есть возможность контролировать немного выходной папки:

<NamingScheme baseName="cover_me" appendTimeStamp="false" useDefault="false" /> 

Это является дочерним элементом TestSettings корневого элемента , поэтому начало файла выглядит следующим образом:

<TestSettings name="CodeCoverage" id="f5644e34-f879-42fe-8b36-d1ca1cc7c3c5" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"> 
    <Description>These are default test settings for a local test run.</Description> 
    <NamingScheme baseName="cover_me" appendTimeStamp="false" useDefault="false" /> 

за процентным с MSTest мне нужно преобразовать двоичный выход в XML I описанные здесь процедуры: http://rubenwillems.blogspot.be/2011/09/setting-up-ccnet-in-combination-with.html прокрутите бит вниз для части покрытия. Источник конвертерной программы также существует, поскольку исходная страница больше не существует :-(

С этого момента он работает только с xslt, чтобы проверить, находится ли он ниже определенного процента. Это может быть в программе конвертера , или в качестве дополнительной задачи.

+0

Проблема с этим кодом заключается в том, что я должен определить путь к файлу .coverage. Но, как указано, у меня нет определенного пути. Подпапка с некоторым типом GUID создается имя, в которое сбрасывается файл .coverage. С VS 2013 вы не можете использовать .testsettings для покрытия кода, как видно из этой ссылки: https://msdn.microsoft.com/en-us/library/ee256991. aspx. Вот почему я заявил, что я работаю с .runsettings и VS 2013. Я нашел этот URL-адрес в google, и это было очень полезно. Но -1 для этого ответа как это не работает для последних VS. –

 Смежные вопросы

  • Нет связанных вопросов^_^