Question

Y a-t-il une chance d'obtenir ce travail ?Je souhaite que mes tests soient exécutés par la tâche nunit2 dans NAnt.De plus, je souhaite exécuter NCover sans réexécuter de tests.

Était-ce utile?

La solution

Je l'ai compris.Vous modifiez le chemin du lanceur NUnit par celui de TeamCity.Voici un exemple:

    <mkdir dir="${build}/coverage" failonerror="false"/>

    <!-- run the unit tests and generate code coverage -->
    <property name="tools.dir.tmp" value="${tools.dir}"/>
    <if test="${not path::is-path-rooted(tools.dir)}">
        <property name="tools.dir.tmp" value="../../${tools.dir}"/>
    </if>

    <property name="nunitpath" value="${lib.dir}/${lib.nunit.basedir}/bin/nunit-console.exe"/>
    <property name="nunitargs" value=""/>
    <if test="${property::exists('teamcity.dotnet.nunitlauncher')}">
        <property name="nunitpath" value="${teamcity.dotnet.nunitlauncher}"/>
        <property name="nunitargs" value="v2.0 x86 NUnit-2.4.8"/>
    </if>

    <ncover program="${tools.dir.tmp}/${tools.ncover.basedir}/ncover.console.exe"
       commandLineExe="${nunitpath}"
       commandLineArgs="${nunitargs} ${proj.name.unix}.dll"
       workingDirectory="${build}"
       assemblyList="${proj.srcproj.name.unix}"
       logFile="${build}/coverage/coverage.log"
       excludeAttributes="System.CodeDom.Compiler.GeneratedCodeAttribute"
       typeExclusionPatterns=".*?\{.*?\}.*?"
       methodExclusionPatterns="get_.*?; set_.*?"
       coverageFile="${build}/coverage/coverage.xml"
       coverageHtmlDirectory="${build}/coverage/html/"
    />

Comme vous pouvez le voir, j'ai certaines de mes propres variables, mais vous devriez être en mesure de comprendre ce qui se passe.La propriété qui vous concerne est teamcity.dotnet.nunitlauncher.Vous pouvez en savoir plus ici sur http://www.jetbrains.net/confluence/display/TCD4/TeamCity+NUnit+Test+Launcher.

Autres conseils

Pourquoi ne pas laisser NCover exécuter NUnit ?Vous obtenez exactement les mêmes résultats de test.De plus, qu'essayez-vous exactement de mesurer lorsque vous exécutez NCover en dehors des tests ?Il existe d'autres moyens de rechercher du code obsolète ou non référencé.

Je dois faire la même chose.Je pense que le mieux que nous puissions espérer est d'ouvrir le fichier jar NUnit fourni avec TeamCity et d'écrire une tâche personnalisée intégrant NUnit2 et NCover.J'aurais aimé que ce ne soit pas le cas, mais la tâche NUnit2 ne produit aucune sortie visible, donc TeamCity ne lit évidemment pas StdOut pour les résultats des tests.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top