Модульные тесты не запускаются с несколькими конфигурациями сборки в TFS 2010 - PullRequest
3 голосов
/ 30 июня 2011

Я использую MSBuild в своем процессе сборки TFS, используя шаблон DefaultTemplate для построения нескольких конфигураций (отладка / выпуск) одного и того же решения.Когда я собираю только релиз или только отлаживаюсь, запускаются модульные тесты, но когда я запускаю сборку с обеими конфигурациями, модульные тесты не запускаются.

Когда я запускаю несколько конфигураций, каждая из них определяется в сборкеопределение в Process-> Items to Build-> Configuration to Build, которое представляет собой Mixed Platforms | Release, Mixed Platforms | Debug.Когда я запускаю одну конфигурацию, я использую Mixed Platforms | Release или Mixed Platforms | Debug.

Я не могу поместить весь журнал здесь (он длиннее 6000 строк), но кажется, что он не находит никакихof testAssemblies.

Редактировать:

Вот фактические разделы журнала.Я не уверен, откуда взялись Mixed Platforms \ Release в пути поиска.

Я должен также добавить, что мы компилируем в папку нашего источника, потому что некоторые из наших скриптов работают только в этом макете.

Только отладка (работает)

Запустите MSTest для тестовых сборок C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ MSTest.exe / nologo / usestderr / testSettings: "C: \ Builds \ 6 \ ProductName \ BuildName \ Sources \ Product\ Local.testsettings "/ searchpathroot:" C: \ Builds \ 6 \ ProductName \ BuildName \ Sources "/ resultsfileroot:" C: \ Builds \ 6 \ ProductName \ BuildName \ TestResults "/ testcontainer:" C: \ Builds \ 6 \ProductName \ BuildName \ Sources \ Test \ UnitTestCommon \ bin \ Debug \ UnitTestCommon.dll "/testcontainer:"C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Release\UnitTestCommon.dll" / testcontainer:"C: \ Builds \ 6 \ ProductName \ BuildName \ Sources \ Test \ UnitTestWCF \ bin \ Debug \ UnitTestWCF.dll" / testcontainer: "C: \ Builds \ 6 \ ProductName \ BuildName \ Sources \ Test \ UnitTestWCF \ bin \ Release\ UnitTestWCF.dll "/ publish:" http://dctfs2010.company.dc:8080/tfs/Product" / publishbuild: "vstfs: /// Build / Build / 964" / teamproject: "ProductName" / платформа: "Смешанные платформы" / flavour: "Debug" Загрузка C: \ Builds \ 6 \ ProductName \ BuildName \ Sources \ Product \ Local.testsettings ... Загрузка C: \ Builds \ 6 \ ProductName \BuildName \ Sources \ Test \ UnitTestCommon \ bin \ Debug \ UnitTestCommon.dll ... Загрузка C: \ Builds \ 6 \ ProductName \ BuildName \ Sources \ Test \ UnitTestCommon \ bin \ Release \ UnitTestCommon.dll ...

Отладка и выпуск (не работает)

Запустите MSTest для тестовых сборок C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ MSTest.exe / nologo/ usestderr /testSettings:"C:\Builds\6\ProductName\BuildName\Sources\Product\Local.testsettings "/ searchpathroot:" C: \ Builds \ 6 \ ProductName \ BuildName \ Sources \ Mixed Platforms \ Release "/ resultsfileroot:"C: \ Builds \ 6 \ ProductName \ BuildName \ TestResults" /testcontainer:"C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Debug\UnitTestCommon.dll "/ testcontainer:" C: \Строит \ 6 \ ProductName \ BUILDNAME \ Sources \ Test \ UnitTestCommon \ Bin \ Release \ UnitTestCommon.dll»/testcontainer:"C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestWCF\bin\Debug\UnitTestWCF.dll "/ testcontainer:" C: \ Builds \ 6 \ ProductName \ BuildName \ Sources \ Test \ UnitTestWCF "bin \ Release \ UnitTestWCF.dll "/ publish:" http://dctfs2010.company.dc:8080/tfs/Product" / publishbuild: "vstfs: /// Build / Build / 962" / teamproject: "ProductName" / platform: "Mixed Platforms" / flavour: каталог "Release"«C: \ Builds \ 6 \ ProductName \ BuildName \ Sources \ Mixed Platforms \ Release» не найден.

Ответы [ 2 ]

0 голосов
/ 01 июля 2011

Оказывается, мой outputDirectory был неправильно настроен для компиляции наших проектов. Вот откуда возникла проблема searchpathroot.

0 голосов
/ 01 июля 2011

Если вы нажмете на свойства вашего решения (решение, которое вы создали как часть вашей сборки).У вас будет менеджер конфигурации.В диспетчере конфигурации вы сможете увидеть «Отладка», «Выпущено», «Смешанный» и т. Д. Любые другие конфигурации, которые вы могли определить.Вы видите тестовый проект, проверенный на сборку в смешанной конфигурации?Если это не сборка, test.dll будет недоступен, а это значит, что MSBuild не будет запускать какие-либо тесты.

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

...