TFS Build и Test Impact - PullRequest
       48

TFS Build и Test Impact

4 голосов
/ 31 января 2012

Я играю с функцией Test Impact сборки TFS.Кажется, что вы не можете использовать эту функцию, если вы используете файл .vsdmi, но только если вы используете файл .testsettings (хотя файл VSDMI содержит ссылку на файл настроек теста).

Я разрешилTest Impact в файле настроек теста и так далее в конфигурации сборки TFS.Причина, по которой мне нужно использовать файл VSDMi, заключается в том, что я создал тестовый список, который я хочу выполнить в CI.Проблема в том, что во всех сборках отображается «Тест не подвергается воздействию», хотя я знаю, что они есть.

Я что-то здесь упускаю?Пожалуйста, приложите файл vsdmi, файл testsettings и снимок конфигурации сборки TFS.

Config

Вот содержимое файла .testsettings:

<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="Master" id="68af9170-92f5-49d8-83dd-827359a79042" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Description>These are default test settings for a local test run.</Description>
  <Deployment>
    <DeploymentItem filename="..\Common\Terra.Environment.Common.Data.Test\TpEnvFileParser\InputFiles\" />
    <DeploymentItem filename="..\Common\Terra.Environment.Fake\FakeData\HSW\Resources" />
    <DeploymentItem filename="..\Tpie.Engines.Build\Tpie.Engines.Build.Test\ExpectedFiles\" />
    <DeploymentItem filename="..\Tpie.Engines.Build\Tpie.Engines.Build.Test\Resources\" />
    <DeploymentItem filename="..\Common\Terra.Environment.Common.Model\bin\Debug\TerraEntitiesModel.ssdl" />
    <DeploymentItem filename="..\Common\Terra.Environment.Common.Model\bin\Debug\TerraEntitiesModel.csdl" />
    <DeploymentItem filename="..\Common\Terra.Environment.Common.Data.Test\PListFileParser\InputFiles\" />
    <DeploymentItem filename="..\Common\Terra.Environment.Common.Model\bin\Debug\TerraEntitiesModel.msl" />
    <DeploymentItem filename="..\Tpie.Client\Tpie.Client.Common.Test\ExcelParsers\InputFiles\" />
    <DeploymentItem filename="..\Tpie.Engines.Build\Tpie.Engines.Build.TestProgram\Templates\" />
  </Deployment>
  <Execution>
    <ExecutionThread apartmentState="MTA" />
    <Timeouts runTimeout="1800000" testTimeout="300000" />
    <TestTypeSpecific>
      <UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
        <AssemblyResolution>
          <TestDirectory useLoadContext="true" />
        </AssemblyResolution>
      </UnitTestRunConfig>
      <WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
        <Browser name="Internet Explorer 7.0">
          <Headers>
            <Header name="User-Agent" value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" />
            <Header name="Accept" value="*/*" />
            <Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
            <Header name="Accept-Encoding" value="GZIP" />
          </Headers>
        </Browser>
      </WebTestRunConfiguration>
    </TestTypeSpecific>
    <AgentRule name="LocalMachineDefaultRole">
      <DataCollectors>
        <DataCollector uri="datacollector://Microsoft/TestImpact/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TraceCollector.TestImpactDataCollector, Microsoft.VisualStudio.TraceCollector, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
        </DataCollector>
      </DataCollectors>
    </AgentRule>
  </Execution>
</TestSettings>

А вот и файл .vsmdi:

<?xml version="1.0" encoding="UTF-8"?>
<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <TestList name="TPIE Auto Build" id="2cbc1525-8079-4959-a126-4d4fb8fdb803" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
    <TestLinks>
      <TestLink id="ee8dae77-c23e-df6b-c6b5-4be930087750" name="LevelTestConditionGroupCheckCalculationDataTypeVoltageTest" storage="..\tpie.client\tpie.client.common.test\bin\debug\tpie.client.common.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      <TestLink id="74441000-f8e5-ac1b-fbd6-bb94da0bf3ce" name="LevelPowerSequenceBlockCheckSequenceElementTest" storage="..\tpie.client\tpie.client.common.test\bin\debug\tpie.client.common.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      <TestLink id="afb21bed-4eff-9f9f-7e58-c72e7d133b32" name="TestGetMiscEnvironmentVariables" storage="..\server\terra.binmatrix.server.test\bin\debug\terra.server.bl.test.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </TestLinks>
  </TestList>
  <TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
    <RunConfiguration id="68af9170-92f5-49d8-83dd-827359a79042" name="Master" storage="master.testsettings" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </TestList>
</TestLists>

Спасибо, Биз

Ответы [ 2 ]

2 голосов
/ 31 января 2012

Это немного сложно, но это работает. Если вы хотите запустить тестовый анализ воздействия, вам нужно установить Disable Test = true и Analyse Test Impact = true.

Я сделал следующее

  • создать тип сборки CI с помощью vsmdi
  • настройка сборки для запуска тестов (Disable Tests = false)
  • выберите всмди
  • запустить две или три сборки для сбора тестовых данных
  • переключать флаги, как описано выше

enter image description here

0 голосов
/ 10 июля 2012

Для запуска теста необходимо выполнить следующие шаги.

  1. Сделать отключить тесты = False
  2. Влияние теста на анализ = true;
  3. убедитесь, чтово время выполнения test ваша сборка получает тестовые dll из указанного места, как указано в файле vsmdi.
  4. при отладке набора журналов сборки Logg Verbosity = Diagnostic.через это вы можете видеть журнал, получает ли ваша сборка тестовую DLL или нет.
...