私はTFS2015からTFS2017へのアップグレードをテストしているので、単体テストを実行するときに問題が発生しました。TFSがvstest.consoleを動かすのを防ぐ方法runsettingsファイル
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
テストはrunsettingsファイルが必要
私のrunsettingsは、testsettingsへの参照を含んでいます:
<?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フォルダに移動して正しいディレクトリから実行しないようにするにはどうすればよいですか? TFSが動かないように、ログに
は、runsettingファイルはC:\Agent\_work\10\s\Parallel.runsettings
から得ている:
残念ながら、新しいエージェントを展開しても問題は解決しません –
申し訳ありませんが、問題は再現できません。あなたはキャッシュフォルダをきれいにしましたか?ビルドエージェントを展開する別のマシンがありますか? –
私の問題は他のビルド定義では起こらないことがわかったので、私のビルド定義を作り直すことはできますが、金曜日にもう一度テストできませんでした。 a "ビルド定義のチェックイン検証をキューに入れることができませんでした。詳細:同じキーを持つアイテムが既に追加されています。エラー。 –