2017-01-26 22 views
6

Jenkins pipeline hattımda her ikisinde de birim testleri çalıştırıyorum: hata ayıklama ve bırakma yapılandırmaları. Her test yapılandırması, ayrı JUnit XML sonuçları dosyası oluşturur. Her ikisinde de test isimleri: hata ayıklama ve bırakma yapılandırması aynıdır.Jenkins boru hattında birden fazla JUnit sonuç dosyası kullanarak

junit allowEmptyResults: true, healthScaleFactor: 0.0, keepLongStdio: true, testResults: 'Test-Dir/Artifacts/test_xml_reports_*/*.xml'

sorun Jenkins UI hem olmasıdır: Şu anda test sonuçlarını göstermek için aşağıdaki junit komutunu kullanın ayıklama ve serbest testler sonucu birlikte gösterilir ve bilmek mümkün olmadığı testi (hata ayıklamadan veya yapılandırmadan çıkma) başarısız. Hata ayıklama ve sınama sonuçlarını ayrı ayrı göstermek mümkün mü? Eğer evet ise, bunu nasıl yapabilirim?

+0

Buna bir çözüm buldunuz mu? Ben de aynı problemi yaşıyorum. – Sardathrion

+0

XML biçimini değiştirdim ve bu sorunu önlemek için bir paket adı olarak varyant adı (debug/release) oluşturmayı dahil ettim – Dima

cevap

1

Sorunun bir çözümü yok. Bir geçici çözüm olarak JUnit XML rapor formatını değiştirdim ve paket adı olarak varyant adı (debug/release) oluşturdum.

0

Farklı DB türleriyle iki farklı yapılandırmaya karşı aynı entegrasyon testlerini gerçekleştiriyoruz. Biz maven ve failsafe eklentisini kullanıyoruz, bu yüzden -Dsurefire.reportNameSuffix'dan yararlanıyorum, böylece iki çalışma arasındaki farkı görebiliyorum. Aşağıdaki

bir örnektir bizim Jenkinsfile blok geçerli: Raporda

stage('Integration test MySql') { 
    steps { 
     timeout(75) { 
      sh("mvn -e verify -DskipUnitTests=true -DtestConfigResource=conf/mysql-local.yaml " + 
       "-DintegrationForkCount=1 -DdbInitMode=migrations -Dmaven.test.failure.ignore=false " + 
       "-Dsurefire.reportNameSuffix=MYSQL) 
     } 
    } 
    post { 
     always { 
      junit '**/failsafe-reports/*MYSQL.xml' 
     } 
    } 
} 

, entegrasyon testleri sonra kendi adına eklenmiş MYSQL ile ortaya mysql karşı çalıştırın.