TeamCity içinde MbUnit kullanma

oy
13

Ben TeamCity Sürekli Entegrasyon sunucusu ile linux üzerinde NAnt projesi derleme. Bir Komut Satırı Runner aracılığıyla mono üzerinde NAnt çalıştırarak bir test raporu oluşturmak mümkün olmuştur ama NAnt Runner gibi raporunu kullanmanın seçenekleri yok. Ayrıca test framework için MbUnit kullanıyorum.

Nasıl deney raporunda birleştirme ve görüntüleyebilir Testler başarısız oldu: 1 (yeni 1), geçti: 3049 derlemesi için?

Güncelleme: MBUnitTask onun size testler için TeamCity tüm özelliklerini kullanmanızı sağlar, böylece TeamCity NUnit beklediği mesajları gönderir kullanan bir NAnt görev bakabilirsiniz.

MBUnitTask

Güncelleme: Sadece MBUnit 3.5 DLL dosyaları yerine Galio MBUnit 3.5 DLL başvuru ve o iş yapmak Galio koşucu geçmek zorunda Galio iyi desteği vardır.

Oluştur 06/08/2008 saat 08:41
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
6

Gallio şimdi bir uzantısı var çıkış TeamCity servis mesajlarına. Sadece dahil Gallio.NAntTasks.dll kullanabilir ve TeamCity uzantısını etkinleştirin. (Bu sonraki sürümünde gerekli olmayacak )

Cevap 19/05/2009 saat 00:07
kaynak kullanıcı

oy
4

TeamCity Yapı 'komut satırı çıktısını izler. Değişikliklerin bir testler bakın o çıktı içine belli işaretleri ekleyerek nasıl gidiyor bildirebilirsiniz http://www.jetbrains.net/confluence/display/TCD3/Build+Script+Interaction+with+TeamCity . Örneğin

##teamcity[testSuiteStarted name='Test1']

TeamCity testlerin bir dizi başladı bildiririz. MbUnit ile testler çalışırken bu belirteçler çıkış olamaz, ama bunun çıkışı XML dosyasını dönüştürebilir. İşte kullanıyorum XSL geçerli:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text"/>
    <xsl:template match="/">

        <xsl:apply-templates/>

    </xsl:template>

    <xsl:template match="assemblies/assembly">
##teamcity[testSuiteStarted name='<xsl:value-of select="@name" />']

        <xsl:apply-templates select="//run" />

##teamcity[testSuiteFinished name='<xsl:value-of select="@name" />']
    </xsl:template>

    <xsl:template match="run">

        <xsl:choose>
            <xsl:when test="@result='ignore' or @result='skip'">
        ##teamcity[testIgnored name='<xsl:value-of select="@name" />' message='Test Ignored']
            </xsl:when>
            <xsl:otherwise>
        ##teamcity[testStarted name='<xsl:value-of select="@name" />']
            </xsl:otherwise>
        </xsl:choose>


        <xsl:if test="@result='failure'">
            ##teamcity[testFailed name='<xsl:value-of select="@name" />' message='<xsl:value-of select="child::node()/message"/>' details='<xsl:value-of select="normalize-space(child::node()/stack-trace)"/>']
        </xsl:if>


        <xsl:if test="@result!='ignore' and @result!='skip'">
        ##teamcity[testFinished name='<xsl:value-of select="@name" />']
        </xsl:if>

    </xsl:template>

</xsl:stylesheet>
Cevap 07/08/2008 saat 00:49
kaynak kullanıcı

oy
3

İşte ben ile geldi ne

Nasıl deney raporunda birleştirebilirsiniz?

Önce MbUnit XML ve HTML raporu hem üretmek için almak gerekir. Komut satırı argümanları şuna benzer

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

Bu bir dir denilen raporlarında da raporları oluşturmak ve dosya mbunit.xml ve mbunit.html adı verilecek

Bir sonraki biz yapı üzerinde eserler olarak bu dosyaları eklemek istediğiniz

build\reports\* => Reports

Son adım yapı için bir sekme olarak eklemek için TeamCity söylemektir

.BuildServer \ config \ ana-config.xml bulup bu satırı ekleyin (bu c olduğunu pencerelerde: linux üzerine, \ Documents and Settings \ o / kök dir idi)

<report-tab title="Tests" basePath="Reports" startPage="mbunit.html" />

yapı için nasıl ": 1 (1 yeni) geçti 3049 Testleri başarısız" görüntüleyebilir?

TeamCity görüntülenmek üzere mesajlar içinde sopa nereye dosya TeamCity-info.xml denilen arar. Gerçek test sayımı aslında sadece düz metindir. Ben sadece bir eser olarak dosyayı ekleyebilirsiniz düşünüyorum ama ben de yapı kök Dir İçine var.

NAnt size MBUnit XML Raporu üzerinde XSLT yapmak için bu komutu kullanmak isteyeceksiniz

<style style="includes\teamcity-info.xsl" in="reports\mbunit.xml" out="..\teamcity-info.xml" />

Gerçek xsl buna benzemez. (Not: {ve} xsl saklıdır biz params'ı kullanmak zorunda)

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="cbl" select="'{'"/>
<xsl:param name="cbr" select="'}'"/>
<xsl:template match="/">
<xsl:for-each select="report-result/counter">

<build number="1.0.{concat($cbl,'build.number',$cbr)}">
    <xsl:if test="@failure-count &gt; 0">
        <statusInfo status="FAILURE">    
            <text action="append"> Tests failed: <xsl:value-of select="@failure-count"/>, passed: <xsl:value-of select="@success-count"/></text>
        </statusInfo>
    </xsl:if>
    <xsl:if test="@failure-count = 0">
        <statusInfo status="SUCCESS">
            <text action="append"> Tests passed: <xsl:value-of select="@success-count"/></text>
        </statusInfo>
    </xsl:if>

</build>
</xsl:for-each>

</xsl:template>
</xsl:stylesheet>

Bu, şuna benzer bir dosya verecek

<build number="1.0.{build.number}">
   <statusInfo status="FAILURE">
      <text action="append">Tests failed: 16, passed: 88</text>
   </statusInfo>
</build>
Cevap 27/08/2008 saat 15:14
kaynak kullanıcı

oy
-1

Windows Vista için TeamCity Sidebar Gadget, Windows 7 http://teamcity-gadget.com

Cevap 11/02/2010 saat 18:21
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more