non accetta un parametro jolly per il contenitore dei test (look here for a reference on the command line options). Può tuttavia contenere argomenti multipli/testcontainer, come segue:
mstest.exe /testcontainer:a.test.dll /testcontainer:b.tests.dll
È necessario fornire questi parametri in un altro modo. Questo può essere fatto utilizzando un file batch, ma MSBuild
può essere una scelta migliore per questo:
<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>
(con grazie al https://stackoverflow.com/a/2770682/62662 per la trasformazione)
Salva i per un file (testall.proj
), ed eseguire con MSBuild testall.proj
o crea un file batch per eseguirlo per te.
Si noti inoltre che il più semplice carica tutti i contenitori di test forniti in un dominio applicazione, quindi dovranno supportare lo stesso target di piattaforma (qualsiasi CPU, x86, x64).
fonte
2012-12-11 23:28:01
Credo che la trasformazione può essere resa più semplice, semplicemente afferrando l'Identità proprietà di ogni assemblea. Ho anche avuto un problema con i percorsi (le DLL di test non sono direttamente sotto il punto in cui è archiviato il mio file target), e questo ha risolto anche questo problema. –