Как я могу заставить модульные тесты запускаться как часть сборки TFS2008?
Я пытаюсь настроить непрерывную интеграцию для запуска модульных тестов, поэтому я настроил
<RunTest>true</RunTest>
И я настроил тесты для автоматического обнаружения:
<ItemGroup>
<TestContainer Include="$(OutDir)%2a.Test.dll" />
</ItemGroup>
Запуск сборки на моей машине для разработки запускает мои модульные тесты и сообщает, что сборка прошла успешно; При запуске в виде автоматической сборки тесты запускаются (в соответствии с BuildLog), но я вижу это в журнале:
Публикация результатов тестового прогона tfs_service@TFS-BUILD 2012-04-13 14:13:59_Any CPU_Release для http://mycompany-tfs:8080/Build/v1.0/PublishTestResultsBuildService2.asmx...
. Не удалось получить доступ к каталогу общего ресурса "\tfs-build\Builds\Test\MyProduct Test_20120413.2".
Не удалось получить доступ к каталогу общего ресурса "\tfs-build\Builds\Test\MyProduct Test_20120413.2".
MSBUILD: предупреждение MSB6006: "MSTest.exe" завершен с кодом 1.
Предыдущая ошибка была преобразована в предупреждение, поскольку задача была вызвана с помощью ContinueOnError = true.
Это странно, поскольку бинарные файлы публикуются довольно весело.
Я попытался диагностировать проблему, войдя в консоль сервера сборки, запустив командную строку Visual Studio 2008, перейдя к исходному местоположению и вызвав MSBuild. Похоже, он даже не пытался вызвать модульные тесты.?
В конечном итоге меня больше интересует игра "угадайте, почему не удалось отбросить результаты" - может ли это быть встроенное пространство в моем имени определения сборки? Что еще я могу проверить, если бинарные файлы опубликованы?
1 ответ
Модульные тесты запущены, проблема в том, что результаты не публикуются правильно. Когда выполняются модульные тесты, результаты публикуются на сервере tfs, а затем копируются в папку для отбрасывания. Из-за этого общий ресурс должен разрешать запись учетной записи службы сборки TFS в эту папку.