Ответ 1
MSTest
не принимает параметр подстановки для тестового контейнера (смотрите здесь ссылку на параметры командной строки). Однако он может принимать несколько аргументов /testcontainer следующим образом:
mstest.exe /testcontainer:a.test.dll /testcontainer:b.tests.dll
Вам придется указать этот параметр другим способом. Это можно сделать с помощью командного файла, но MSBuild
может быть лучшим выбором для этого:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="RunMSTest">
<ItemGroup>
<TestAssemblies Include="**\*Tests.dll"/>
</ItemGroup>
<Target Name="RunMSTest">
<Exec Condition=" '@(TestAssemblies)' != ''"
Command="Mstest.exe @(TestAssemblies ->'/testcontainer:"%(RecursiveDir)%(Filename)%(Extension)"', ' ')"
/>
</Target>
</Project>
(благодаря fooobar.com/questions/441777/... для преобразования)
Сохраните я в файл (testall.proj
) и запустите его с помощью MSBuild testall.proj
или создайте пакетный файл, чтобы запустить его для вас.
Также обратите внимание, что mstest загружает все поставляемые тестовые контейнеры в один домен приложения, поэтому им нужно будет поддерживать одну и ту же целевую платформу (любой процессор, x86, x64).