J'ai Cruise Control configuré avec une tâche pour exécuter un script NAnt, qui exécute une suite MSTest. MSTest me permet de spécifier des catégories de test donc je veux spécifier "! Intégration" (ce qui signifie "ne pas lancer de tests d'intégration"). Mon script Nant s'exécute correctement lorsque je l'exécute à partir de la ligne de commande, mais lorsque Cruise l'exécute, la directive "! Integration" est brouillée - la sortie Cruise suggère d'insérer un saut de ligne après le '!' personnage. Le résultat est que tous mes tests, y compris les tests d'intégration.Cruise Control analyse "!" caractère dans le fichier NAnt
Extrait de ccnet.config:
<tasks>
<nant>
<executable>C:\nant\bin\nant.exe</executable>
<baseDirectory>C:\MyProject\BuildDirectory</baseDirectory>
<buildFile>MyProject.build</buildFile>
<targetList>
<target>CIServerBuild</target>
</targetList>
</nant>
</tasks>
Extrait de MyProject.build:
<target name="CIServerBuild">
:
<call target="RunUnitTests" />
</target>
<target name="RunUnitTests">
<property name="TestCategories" value="!Integration" />
<call target="RunMSTest" failonerror="true"/>
</target>
<target name="RunMSTest">
<call target="BuildListOfTestContainers" failonerror="true"/>
<exec program="${MSTest.exe}"
commandline=" /category:"${TestCategories}" ${TestContainers} /resultsfile:${MSTest.ResultsFile} /nologo "
/>
</target>
Extrait de la sortie de la croisière: '!
[exec] Starting 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe (/category:"!
Integration" /testcontainer:C:\TaxWise\BuildDirectory\TaxWise\TaxWise.Data.Tests\bin\Debug\TaxWise.Data.Tests.dll /testcontainer:C:\TaxWise\BuildDirectory\TaxWise\TaxWise.Domain.Tests\bin\Debug\TaxWise.Domain.Tests.dll /testcontainer:C:\TaxWise\BuildDirectory\TaxWise\TaxWise.Infrastructure.Tests\bin\Debug\TaxWise.Infrastructure.Tests.dll /resultsfile:.\TestResults\UnitTests.trx /nologo)'
in 'C:\TaxWise\BuildDirectory'
J'ai essayé de remplacer la caractère avec
'!'
mais cela n'a fait aucune différence.
Des idées, quelqu'un?