Vă mulțumim pentru susținere

Folosind MBUnit în TeamCity

Compilez un proiect NAnt pe linux cu serverul de integrare continuă TeamCity. Am reușit să generez un raport de testare prin rularea NAnt pe mono printr-un Runner Line Command, dar nu au opțiunile de a folosi raportul ca un Runner NAnt. De asemenea, folosesc MBUnit pentru cadrul de testare.

Cum pot fuziona în raportul de testare și afișează "Testele au eșuat: 1 (1 nou), a trecut: 3049" pentru construirea?

Update: take a look at MBUnitTask its a NAnt task that uses sends messages that TeamCity expects from NUnit so it lets you use all of TeamCity's features for tests.

MBUnitTask

Update: Galio has better support so you just have to reference the Galio MBUnit 3.5 dlls instead of the MBUnit 3.5 dlls and switch to the galio runner to make it work.

0
adăugat editat

4 răspunsuri

Iată ce am venit

Cum pot fuziona în raportul de testare?

Mai întâi va trebui să obțineți mbunit pentru a genera atât un raport XML și HTML. Argumentele din linia de comandă arată astfel

/rt:Xml /rt:Html /rnf:mbunit /rf:..\reports

acest lucru va genera rapoartele într-un dir numit rapoarte și fișierul va fi numit mbunit.xml și mbunit.html

în continuare vrem să adăugăm aceste fișiere ca artefacte în construcție

build\reports\* => Reports

ultimul pas este să-i spuneți echipei să o adauge ca o filă pentru construire

găsiți .BuildServer \ config \ main-config.xml și adăugați această linie (pe ferestre aceasta este în c: \ Documents and Settings \, pe linux a fost în director / root)


Cum pot afișa "Testele au eșuat: 1 (1 nou), trecute: 3049" pentru construire?

TeamCity caută un fișier numit teamcity-info.xml în care puteți afișa mesajele. Numărul real de teste este de fapt doar un text simplu. Cred că puteți adăuga fișierul ca un artefact, dar l-am primit și în directorul rădăcină al construcției.

în NAnt, veți dori să utilizați această comandă pentru a face un XSLT în raportul XML MBUnit


actualul xsl arată astfel. (Notă: {și} sunt rezervate în xsl, așa că trebuie să folosim params)










    
            
             Tests failed: , passed: 
        
    
    
        
             Tests passed: 
        
    






Acest lucru vă va oferi un fișier care arată astfel


   
      Tests failed: 16, passed: 88
   

0
adăugat

TeamCity urmărește ieșirea din linia de comandă din construcție. Puteți să știți cum se desfășoară testele prin introducerea unor marcatori în acea ieșire. Vedeți http://www.jetbrains.net/confluence/display/TCD3/Build+Script+Interaction+with+TeamCity . De exemplu

##teamcity[testSuiteStarted name='Test1']

va lasa TeamCity sa stie ca au inceput un set de teste. Cu MbUnit nu puteți ieși aceste marcatori în timp ce testele se execută, dar puteți transforma fișierul XML pe care îl emite. Iată XSL-ul pe care îl folosesc:



    
    

        

    

    
##teamcity[testSuiteStarted name='']

        

##teamcity[testSuiteFinished name='']
    

    

        
            
        ##teamcity[testIgnored name='' message='Test Ignored']
            
            
        ##teamcity[testStarted name='']
            
        


        
            ##teamcity[testFailed name='' message='' details='']
        


        
        ##teamcity[testFinished name='']
        

    


0
adăugat

Gallio now has an extension to output TeamCity service messages. Just use the included Gallio.NAntTasks.dll and enable the TeamCity extension. (this won't be necessary in the next release)

0
adăugat
te-am actualizat aceasta a doua zi pentru a include că, galio face viața mult mai ușor
adăugat autor Scott Cowan

TeamCity Sidebar Gadget for Windows Vista, Windows 7 http://teamcity-gadget.com

0
adăugat