Укажите параметры MSTest в MSBuild - PullRequest
1 голос
/ 19 мая 2011

Я пытаюсь предотвратить запуск некоторых (MSTest) модульных тестов на нашем сервере сборки.Я действительно хотел бы просто добавить TestCategory, а затем указать:

/category:"!RequiresLoginCredentials"

Но я не уверен, как указать это в файле проекта msbuild.

Соответствующий разделфайл сборки в настоящее время имеет:

  <ItemGroup>
    <!--  TEST ARGUMENTS
     If the RunTest property is set to true then the following test arguments will be used to run 
     tests. Tests can be run by specifying one or more test lists and/or one or more test containers.

     To run tests using test lists, add MetaDataFile items and associated TestLists here.  Paths can 
     be server paths or local paths, but server paths relative to the location of this file are highly 
     recommended:

        <MetaDataFile Include="$(BuildProjectFolderPath)/HelloWorld/HelloWorld.vsmdi">
            <TestList>BVT1;BVT2</TestList>
        </MetaDataFile>

     To run tests using test containers, add TestContainer items here:

        <TestContainer Include="$(OutDir)\HelloWorldTests.dll" />
        <TestContainer Include="$(SolutionRoot)\TestProject\WebTest1.webtest" />
        <TestContainer Include="$(SolutionRoot)\TestProject\LoadTest1.loadtest" />

     Use %2a instead of * and %3f instead of ? to prevent expansion before test assemblies are built
    -->
    <TestContainer Include="$(OutDir)\UnitTests.dll" />

  </ItemGroup>

Я предполагаю, что это простое дополнение, но я очень мало знаю о msbuild.

Спасибо!

1 Ответ

5 голосов
/ 20 мая 2011

Я быстро нашел ответ, и я думаю, что есть два возможных решения:

  1. Из того, что вы описали, похоже, что вы пытаетесь запустить тесты с помощью задачи TestToolTask ​​ MSBuild. К сожалению, я не думаю, что вы можете передать аргументы MSTest непосредственно этой задаче. Чтобы выполнить то, что вы хотите, вам нужно указать тесты, которые вы хотите запустить в списке тестов, и передать список тестов этой задаче. Вам нужно использовать свойство MetadataFile, как показано в примере в вашем посте.

  2. Вы можете вызвать MSTest.exe напрямую, используя Exec task MSBuild. Таким образом, у вас есть свобода передавать аргументы, которые вы хотите.

...