Kod kapsamı sonuçları Yayımla görevi
Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015
kapsam raporlamayı almak için Azure Pipelines veya TFS 'ye testler çalıştırılırken oluşturulan kod kapsamı sonuçlarını yayımlamak için bu görevi bir yapı ardışık düzeninde kullanın. Görev, Cobertura ve Jacocogibi popüler kapsam sonuç biçimlerini destekler.
Bu görev yalnızca derleme işlem hatları içinde kullanılabilir ve yayın işlem hatları 'nda desteklenmez.
Visual Studio Test, .net Core, Ant, maven, Gulp, grde gibi görevler, kod kapsamı verilerini işlem hattına yayımlama seçeneği de sağlar. Bu görevleri kullanıyorsanız, işlem hattında ayrı bir kod kapsamı sonuçları yayımlama görevine gerek kalmaz.
Erişim
HTML kod kapsamı raporu oluşturmak için, aracıda DotNet 2.0.0 veya üzeri gerekir. DotNet klasörünün ortam yolunda olması gerekir. DotNet içeren birden çok klasör varsa, sürüm 2.0.0 olan biri yol listesindeki diğer öğelerden önce gelmelidir.
YAML kod parçacığı
# Publish code coverage results
# Publish Cobertura or JaCoCo code coverage results from a build
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'JaCoCo' # Available options: 'JaCoCo', 'Cobertura'
summaryFileLocation:
#pathToSources: # Optional
#reportDirectory: # Optional
#additionalCodeCoverageFiles: # Optional
#failIfCoverageEmpty: false # Optional
Codekapak Agetool ve summaryfilelocation parametreleri zorunludur.
YAML kullanarak Istanbul ile JavaScript için kod kapsamı sonuçlarını yayımlamak için, bu konuların ekosistemler bölümündeki JavaScript bölümüne bakın ve bu da diğer dillere yönelik örnekleri içerir.
Cobertura kullanarak kod kapsamı yayımlamayı bir örnek görmek için, kod kapsamı üzerinde bu bölüme bakın.
Bağımsız değişkenler
| Bağımsız Değişken | Description |
|---|---|
codeCoverageToolKod kapsamı aracı |
Istenir Varsayılan olarak, Jacocokullanın. Kullanılabilir seçenekler: JaCoCo, Cobertura. |
summaryFileLocation Özet dosyalarının yolu |
Istenir Satır, yöntem ve sınıf kapsamı gibi kod kapsamı istatistiklerini içeren Özet dosyasının yolu. Birden fazla Özet dosyası, tek bir raporda birleştirilir. Değerde minimatch desenleri bulunabilir. Örnek: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml |
pathToSources Kaynak dosyaların yolu |
Seçim Kapsam XML raporları kaynak dosyalara mutlak yol içermiyorsa kaynak dosyaların yolu gereklidir. Örneğin, JaCoCo raporları mutlak yollar kullanmaz ve Java uygulamaları için JaCoCo kapsamını yayımlarken, bu model ile benzerdir $(System.DefaultWorkingDirectory)/MyApp/src/main/java/ . Bu giriş Ayrıca, testler bir Docker kapsayıcısında çalıştırıldığında gereklidir. Bu giriş konaktaki kaynak dosyaların mutlak yoluna işaret etmelidir. Örneğin, $(System.DefaultWorkingDirectory)/MyApp/ |
reportDirectoryRapor dizini |
Seçim Kod kapsamı HTML rapor dizininin yolu. Rapor dizini daha sonra yapının yapıtı olarak görüntülenmek üzere yayımlanır. Değerde minimatch desenleri bulunabilir. Örnek: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura |
additionalCodeCoverageFilesEk dosyalar |
Seçim Yapının yapıtları olarak yayımlanacak ek kod kapsamı dosyalarını belirten dosya yolu stili. Değerde minimatch desenleri bulunabilir. Örnek: $(System.DefaultWorkingDirectory)/**/*.exec |
failIfCoverageEmptyKod kapsamı sonuçları eksikse başarısız olur |
Seçim Kod kapsamı yayımlanacak herhangi bir sonuç üretmediğinde görev başarısız olur. |
Docker
Docker kullanan uygulamalar için, derleme ve testler kapsayıcı içinde çalışabilir ve bu da kapsayıcı içinde kod kapsamı sonuçları oluşur. Sonuçları işlem hattına yayımlamak için, sonuçta elde edilen yapıtlar kod kapsamı sonuçları Yayımla görevi için kullanılabilir hale gelmelidir. Başvuru için, DockerIçin bir Docker dosyası ile derleme, test ve yayımlama sonuçları bölümünde test sonuçlarını yayımlamaya benzer bir örnek görebilirsiniz.
Sonuçları görüntüleme
Kod kapsamı sonuçlarını ardışık düzende görüntülemek için bkz. kod kapsamı sonuçlarını inceleme
İlişkili görevler
Açık kaynak
Bu görev GitHubaçık kaynağıdır. Geribildirim ve katılımlar hoş geldiniz.
SSS
Görev için giriş olarak birden çok dosya sağlandığında veya birden çok görev ardışık düzende kullanılıyorsa, kod kapsamı verileri birleştirildi mi?
Mevcut olduğunda, bu görev tarafından sunulan kod kapsamı raporlama işlevi sınırlıdır ve kapsam verilerini birleştirmez. Göreve girdi olarak birden çok dosya sağlarsanız, yalnızca ilk eşleşme kabul edilir. İşlem hattında birden çok yayımlama kod kapsamı görevi kullanıyorsanız, Özet ve rapor son görev için gösterilir. Daha önce karşıya yüklenen veriler yok sayılır.
Yardım ve destek
- Sorun giderme sayfamıza bakın
- Stack Overflowöneriler alın ve geliştirici aracılığıyla destek alın Community
Bilinen sorunlar
Kod kapsamı sonuçlarını yayımla görevi, ana index.html dosyasından bağlantılı BIR dizi HTML dosyası olan HTML raporunu oluşturur ve yayımlar. Kod kapsamı sekmesi kod kapsamı raporunu göstermediğinde, index.html dosyanın boyutunun 7 MB 'a yakın veya daha büyük olup olmadığını kontrol edin. Dosyanın boyutunu denetlemek için aşağıdaki adımları izleyin. Daha sonra, dosya boyutu 7 MB 'a yakın veya daha büyük olursa, kapsam raporunu görüntülemek için aşağıdaki geçici çözümü kullanabilirsiniz:
Derleme Özeti sekmesini seçin ve ardından yayımlanan bağlantıyı seçin:

Kod kapsamı Report_ * yapıtı ' nin yanında yapıtları indir' i seçin:

Kod kapsamı raporu indirildiğinde .zip dosyasını ayıklayın.
Kod kapsamı raporunda, dosya boyutunun burada açıklanan soruna neden olup olmadığını belirlemede yardımcı olması için index.html boyutunu denetleyin.
Kod kapsamı raporunu görüntülemek için index.html bir tarayıcıda açın.