2017-02-02 9 views
0

Я тестирую обновление с TFS2015 до TFS2017 и столкнулся с проблемой при выполнении моих модульных тестов.Как предотвратить перемещение TFS vstest.console файл установки

тест нужен runsettings файл:

enter image description here

Файл runsettings физически в C:\TFS\1\s, но по какой-то причине TFS2017 является копирование его C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\tmpA03 как можно видеть в журнале:

2017-02-01T21:04:44.9728814Z Working folder: C:\TFS\1\s 
2017-02-01T21:04:44.9728814Z Executing C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe "C:\TFS\1\s\SpecFlow2\bin\Debug\SpecFlowTests.dll" "C:\TFS\1\s\UnitTests\bin\Debug\UnitTests.dll" "C:\TFS\1\s\UnitTests-Analytics\bin\Debug\UnitTests-Analytics.dll" /TestCaseFilter:"TestCategory!=MultiThreadedTests&TestCategory!=Purgatory" /Settings:"C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\tmpA03.tmp" /logger:trx 

Однако в моих рядах содержится ссылка на тестовые задания:

<?xml version="1.0" encoding="utf-8"?> 
<RunSettings> 
    <RunConfiguration> 
    <!-- 0 = As many processes as possible, limited by number of cores on machine, 1 = Sequential (1 process), 2-> Given number of processes up to limit by number of cores on machine--> 
    <ResultsDirectory>.\TestResults</ResultsDirectory> 
    <MaxCpuCount>3</MaxCpuCount> 
    <TargetPlatform>x64</TargetPlatform> 
    </RunConfiguration> 

    <MSTest> 
    <SettingsFile>SingleThreaded.testsettings</SettingsFile> 
    <ForcedLegacyMode>true</ForcedLegacyMode> 
    </MSTest> 
</RunSettings> 

Поскольку SingleThreaded.testsettings остается в C:\TFS\1\s, тестовый прогон завершился неудачно, и даже если я вручную скопирую файл, тест по-прежнему терпит неудачу, потому что некоторые из тестов основываются на рабочем каталоге теста.

Как я могу предотвратить перемещение файла TFS из файла runsettings в папку temp и выполнить из правильного каталога?

ответ

1

Я не мог воспроизвести проблему на моей стороне в TFS 2017 с ниже настройки:

enter image description here

В журнале, файл runsetting получается из C:\Agent\_work\10\s\Parallel.runsettings, так TFS не переместит файл настройки автоматически:

2017-02-03T06:08:37.8352139Z Working folder: C:\Agent\_work\10\s 
2017-02-03T06:08:37.8352139Z Executing C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe "C:\Agent\_work\10\s\ClassLibrary1\bin\Release\Microsoft.TeamFoundation.TestManagement.Client.dll" "C:\Agent\_work\10\s\TestCaseProject\bin\Release\Microsoft.TeamFoundation.Test.WebApi.dll" "C:\Agent\_work\10\s\TestCaseProject\bin\Release\Microsoft.TeamFoundation.TestManagement.Client.dll" "C:\Agent\_work\10\s\TestCaseProject\bin\Release\Microsoft.TeamFoundation.TestManagement.WebApi.dll" "C:\Agent\_work\10\s\UnitTestProject1\bin\Release\Microsoft.TeamFoundation.TestManagement.Client.dll" "C:\Agent\_work\10\s\UnitTestProject1\bin\Release\UnitTestProject1.dll" /Settings:"C:\Agent\_work\10\s\Parallel.runsettings" /logger:trx 

Пожалуйста, проверьте, были ли отображаться файл runsetting в Repository вкладке определения сборки. И попробуйте очистить файл кэша от вашего агента сборки: C:\Users\username\AppData\Local\Microsoft\Team Foundation\7.0\Cache.

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

+0

К сожалению, проблема сохраняется даже после развертывания нового агента –

+0

Извините, я по-прежнему не могу воспроизвести вашу проблему. Убираете ли вы папку с кешем? У вас есть еще одна машина для развертывания агента сборки? –

+0

Я обнаружил, что проблема не возникает в моем другом определении сборки, поэтому я думаю, что воссоздание моего определения сборки может работать, но я не смог проверить его снова в пятницу, потому что после того, как я вручную отменил одну из неудачных сборок, я начал получать a «Проверка проверки не может быть поставлена ​​в очередь для определения сборки. Подробности: элемент с тем же ключом уже добавлен». ошибка. –