Ana içeriğe geç

Hangi rapor hangisi?

7-build-all her raporu iki kez üretir: modern, ekosistemler arası araçla (ReportGenerator) ve daha eski / yerel araçla; böylece aynı sayıları iki biçimde görürsünüz. Ve bunları platform başına üretir: bir kez Windows'ta, bir kez Linux/WSL'de, ayrı tutulur (farklı olabilirler).

# Rapor Modern aile Yerel / eski aile Klasör (reports/<platform>/...)
1 Birim testleri - dotnet test TRX + VSTest HTML günlükçüsü tests-trx/
2 Kod kapsaması ReportGenerator (cobertura) - coverage-reportgenerator/
3 Kod kapsaması - lcov genhtml (coverlet'in lcov çıktısı) coverage-lcov/
4 Dokümantasyon kapsaması ReportGenerator (coverxygen lcov) - doccoverage-reportgenerator/
5 Dokümantasyon kapsaması - lcov genhtml (aynı lcov dosyası) doccoverage-lcov/
6 API dokümanı - Doxygen (üç şablonda aynı araç) api-doxygen/
7 API dokümanı DocFX (C# yerel) - api-docfx/ (ayrıca site-native/)
8 Ana site MkDocs Material - site/

Sitede 1-6 numaralılar çerçevede gösterilir; 7 numara kendi başına eksiksiz bir sitedir ve bağlantıyla (yeni sekmede) açılır. Bkz. Sitenizin içinde HTML raporu göstermek.

Her birini nasıl okumalı

Birim test sonuçları (#1). Süreli geçti/kaldı listesi. Bir test kaldığında, terminale dokunmadan tam doğrulama mesajını görmek için açın.

Kod kapsaması, ReportGenerator (#2). Dosya ve satır bazında kapsama, kırmızı/yeşil kenar, derlemeler arası eğilim grafiği (geçmiş report_history/<platform>/ içinde) ve docs/assets/ altındaki küçük SVG rozetler. Günlük iş için bunu kullanın.

Kod kapsaması, lcov (#3). Aynı sayılar, lcov'un klasik dizin ağacı görünümünde; bir C++ projesinin ürettiği coverage.info ile aynı dosyadan, yalnızca gcov yerine coverlet yazmış.

Dokümantasyon kapsaması (#4, #5). "Kodun ne kadarı test edildi" değil, "genel API'nin ne kadarında XML doküman yorumu (/// <summary>) var". coverxygen Doxygen'in XML çıktısını kod kapsamasının kullandığı lcov biçimine çevirir, böylece iki araçtan biri de çizebilir. Örnekte kasıtlı olarak %100 değildir.

Doxygen (#6). C# XML doküman yorumlarını, C veya C++'taki \brief/\param yorumlarını çizdiği gibi çizer: her şablonun aynı biçimde ürettiği tek API dokümanı.

DocFX (#7). Derlemenin XML doküman dosyasından üretilir; profesyonel bir .NET projesinin yayınladığı budur. Generic'leri, nullable ek açıklamalarını ve kalıtımı Doxygen'den iyi anlar.

Neden platform başına?

Kapsama ve test sonuçları Windows ile Linux arasında farklılaşabilir (yol işleme, satır sonları, platforma özgü kod, farklı araç sürümleri). Her klasör ve dosya adında platformu tutmak, bir platformun diğerinin üzerine sessizce yazması yerine farkı görünür kılar.

Neden tek bir araç seçmiyoruz?

Çünkü iş hayatında seçme şansınız olmayacak. Aynı sayıları ilk günden iki biçimde görmek, hiçbir stilin sonradan sürpriz olmamasını sağlar.