Запуск модульных тестов на сборках Team Foundation Server (TFS)

Каковы шаги, чтобы заставить Team Foundation Server запускать модульные тесты при выполнении данной сборки?

Какие предостережения / подводные камни / обходные пути следует учитывать разработчику или системному администратору при настройке сервера TFS для этого в первый раз?

Каковы общие действия по устранению неполадок модульного тестирования во время сборки?


person Community    schedule 13.11.2008    source источник


Ответы (3)


это зависит от того, какую версию TFS вы используете, поэтому я предполагаю, что это 2008 год.

Во-первых, у вас должен быть установлен Team Edition for Testers на компьютере, который будет действовать как ваш агент сборки, как указано в Как: создать определение сборки

Есть несколько способов указать Team Build запускать тесты для вашей сборки.

  1. Модульные тесты можно запускать из определенного списка тестов в создаваемом решении. На этот список ссылается определение сборки, и все тесты в выбранном списке (ах) выполняются. Дополнительная информация здесь
  2. Выполнение теста WildCard также доступно путем определения маски подстановки (например, Test * .dll), которая инструктирует Team Build запускать любые тесты, присутствующие в сборках, которые соответствуют маске. Это также делается при определении определения сборки.

На заметку:

Если вы намереваетесь использовать метод подстановочных знаков и хотите включить покрытие кода для своей тестовой конфигурации, вы должны добавить следующее в файл определения сборки, чтобы включить его.

<RunConfigFile>$(SolutionRoot)\TestRunConfig.testrunconfig</RunConfigFile>

См. Мой предыдущий вопрос по этому поводу для получения дополнительной информации здесь

person Mr. Kraus    schedule 14.11.2008
comment
Обратите внимание, что в VS 2010 расширение файла теперь .testsettings, но в остальном оно работает по-прежнему. - person Jason Williams; 25.08.2011

Если вы не хотите использовать тестовые конфигурации (A боль в заднице для управления), просто запустите весь тест в .dll, добавив это в конфигурацию сборки:

<ItemGroup>
    <TestContainerInOutput Include="MyProject.UnitTests.dll" />
</ItemGroup>

Весь процесс гладкий и довольно простой. Вы можете проверить модульные тесты, которые были запущены на сервере сборки, открыв файл с результатами теста локально (немного затруднительно), но обычно вы просто запускаете модульные тесты локально и сразу видите результаты.

Если вы привыкли к NUnit, вы можете выбрать сортировку тестов по имени класса, это дает аналогичное представление.

Тщательно продумывая покрытие кода, он делает полные копии ваших двоичных файлов при компиляции. Если ваши двоичные файлы достаточно велики и вы часто компилируете, они быстро занимают место на диске.

person vfilby    schedule 15.11.2008
comment
Но метод подстановки позволяет запускать все тесты из разных тестовых проектов. Представьте себе список ‹TestContainerInOutput, когда у вас есть 100 различных тестовых проектов. - person Ola; 20.10.2009

http://msdn.microsoft.com/en-us/library/cc981972%28v=vs.90%29.aspx

Мне нравится это определение, так как оно дает вам полное «пошаговое руководство» от создания проекта, создания проекта модульного теста, до настройки командной сборки для его использования. Модульный тест.

person Community    schedule 23.05.2011