1

TFS BuildServer + TestControler + いくつかの TestAgents と統合された環境を使用しています。

以前は、*.testsettings ファイルを使用して、役割の下にリモート サーバーを定義していました。

BuildServer を VS2013 に更新し、テスト実行用に SpecRun を導入しました。

TFS 用のカスタム *.srprofile ファイルを使用しているため、.testsettings ファイルの代わりに .runsettings ファイルを使用する必要があります。

.runsettings ファイルで「リモート コントローラー名」を定義できるタグが見つかりません。

*.runsettings ファイルに「リモート コントローラー名」を含める方法はありますか??

私はビルド構成に非常に慣れていません。どんな洞察も高く評価されます。

追加の詳細:

この記事を見つけて、.runsettings ファイル内に .testsettings ファイル パスを定義しました。以下は、記事によると変更されたファイルです。しかし、それは機能していません。SpecRun アダプターがタグをサポートしていない可能性があります。

私が使用したTestSettingsファイル。

<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name=".........." id="........." xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Description>Remote settings for running the tests on.....</Description>
  <Deployment>
    ....
  </Deployment>
  <RemoteController name=".....local:6901" />
  <Execution location="Remote">
    <TestTypeSpecific>
      <UnitTestRunConfig testTypeId=".....">
        <AssemblyResolution>
          <TestDirectory useLoadContext="true" />
        </AssemblyResolution>
      </UnitTestRunConfig>
    </TestTypeSpecific>
    <AgentRule name=".....">
    </AgentRule>
  </Execution>
   <Properties />
</TestSettings>

私が現在使用しているサンプル *.runsettings ファイル。

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <!-- Path relative to solution directory -->
    <ResultsDirectory>......</ResultsDirectory>
  </RunConfiguration>

  <SpecRun>
    <Profile>TFS.srprofile</Profile>
    <ReportFile>TestResults.html</ReportFile>
    <GenerateSpecRunTrait>true</GenerateSpecRunTrait>
    <GenerateFeatureTrait>false</GenerateFeatureTrait>
    <SettingsFile>.....\Remote.AutoTest_2013.testsettings</SettingsFile>
    <ForcedLegacyMode>true</ForcedLegacyMode>
  </SpecRun>
</RunSettings>
4

1 に答える 1

0

OK、あなたが犯した間違いは、runsettings ファイルを使用したことだと思います。代わりに、testsettings ファイルで指定します。私たちのものは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="RemoteTest" id="9cfa5873-0238-4d56-a1ec-079192fa72c8" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Description>Settings set up to run remotely through test controller</Description>
  <RemoteController name="**YOURCONTROLLERMACHINE**" />
  <Execution location="Remote" hostProcessPlatform="MSIL">
    <TestTypeSpecific>
      <UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
        <AssemblyResolution>
          <TestDirectory useLoadContext="true" />
        </AssemblyResolution>
      </UnitTestRunConfig>
    </TestTypeSpecific>
    <AgentRule name="AllAgentsDefaultRole">
    </AgentRule>
  </Execution>
  <Properties />
</TestSettings>

次に、コマンド ラインからこれを呼び出し、testsettings パスを渡します。

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\blahblah\TestsAssembly.dll" /Logger:trx /settings:C:\DummyTests\Remote.testsettings /Platform:x64

TestsAssembly.dll には実行するテストが含まれており、Remote.testsettings は上記のとおりです。結果の .trx ファイルは \TestResults... に表示されます。

runsettings ファイルはまったく必要ありません。

于 2016-04-13T21:28:47.900 に答える