Vra

Is daar enige kans om hierdie werk te kry? Ek wil my toetse uit te voer deur nunit2 taak in Nant. Daarbenewens wil ek NCover hardloop sonder lopende toetse weer.

Was dit nuttig?

Oplossing

Ek het gedink dit uit. Jy verander die pad van die NUnit lanseerder aan dié van TeamCity se eie. Hier is 'n voorbeeld:

    <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/"
    />

Soos jy kan sien, ek het 'n paar van my eie veranderlikes in daar, maar jy moet in staat wees om uit te vind wat aan die gang is. Die eiendom jy bekommerd oor is is teamcity.dotnet.nunitlauncher. Jy kan meer daaroor hier lees op http: // www. jetbrains.net/confluence/display/TCD4/TeamCity+NUnit+Test+Launcher .

Ander wenke

Hoekom nie NCover gehardloop NUnit? Jy kry presies dieselfde toetsuitslae. Ook, wat presies is wat jy probeer om te meet wanneer loop NCover buite die toetse? Daar is ander maniere om verjaar of unreferenced kode te vind.

Ek ondervind om dieselfde ding te doen. Ek dink die beste wat ons kan hoop, is om te breek oop die NUnit jar-lêer wat daarmee gepaard TeamCity en skryf 'n persoonlike taak wat NUnit2 en NCover integreer. Ek wens dit was nie so nie, maar die NUnit2 taak nie enige sigbare uitset te produseer, so TeamCity natuurlik nie stdout lees vir die toetsuitslae.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top