Ana içeriğe geç

Hangi rapor hangisi?

Her rapor hem Windows'ta hem Linux'ta üretilir ve ayrı tutulur (menüde Reports → Windows / Linux): sayılar genelde aynıdır ama satır sonları, yollar ve araç sürümleri farklılık yaratabilir; bu yüzden iki takım da gösterilir. Raporların çoğu iki kez üretilir: bir kez Java ekosisteminin kendi ("native") aracıyla, bir kez de ekosistemler arası bir araçla (ReportGenerator, Doxygen); böylece karşılaştırabilirsiniz.

Ne gösterir? Native araç (klasör) Alternatif araç (klasör)
Testler geçti mi? Hangi test neyi doğruladı? Surefire XML üzerinde junit2html (tests-junit2html) — ayrıca Maven sitesinde Maven Surefire sayfası —
Testler hangi satır / dal / metotları çalıştırdı? JaCoCo HTML (coverage-jacoco) rozet ve geçmiş grafiği olan ReportGenerator HTML (coverage-reportgenerator)
Genel API'nin ne kadarında dokümantasyon yorumu var? coverxygen → lcov → genhtml (doccoverage-lcov) aynı lcov dosyasının ReportGenerator ile sunumu (doccoverage-reportgenerator)
API başvurusu (sınıflar, metotlar, parametreler) Javadoc (api-javadoc) Doxygen (api-doxygen) — C/C++ ve C# şablonlarının da kullandığı araç
Kod stili, tasarım kokuları, kopya-yapıştır, hata kalıpları — Maven sitesi: Checkstyle, PMD, CPD, SpotBugs (yalnız Java) — kendi sekmesinde açılır
Çapraz başvurulu kaynak (ana ve test), Test Javadoc JXR api-xref-jxr, api-xreftest-jxr; Javadoc api-testjavadoc —

Klasör adları reports/<platform>/<tür>-<araç>/ biçimindedir; örneğin reports/linux/coverage-jacoco/.

Neden bir sayfa için iki araç?

  • Native araç, pom.xml'de zaten tanımlı JDK ve Maven eklentileri dışında hiçbir şey gerektirmez.
  • ReportGenerator her dil için tek araçtır (C++ ve C# şablonları da kullanır). README için rozetler (badges) ve birçok derleme boyunca kapsama geçmişi ekler. Veri aynı, sunum farklıdır; ikisini karşılaştırmak bir kapsama raporunu eleştirel okumak için iyi bir alıştırmadır.

Çerçeve içinde mi, kendi sitesi olarak mı?

İki tür HTML vardır ve site bunlara farklı davranır:

Tür Örnekler Bu sitede nasıl gösterilir
Maven sitesi sayfası olmayan her rapor (site menüsü olmayan bağımsız HTML) JaCoCo, ReportGenerator, genhtml, junit2html, Javadoc, Test Javadoc, Doxygen, JXR Source Xref / Test Source Xref iki sitenin <iframe>inde: bu sitede sayfa (başlık, açıklama, Yeni sekmede aç, İndir), Maven native sitesinde küçük sarmalayıcı sayfa
Maven'in kendi menüsüyle kendisinin ürettiği sayfa Surefire, Checkstyle, PMD, CPD, SpotBugs, proje bilgisi, bağımlılıklar, eklentiler, SCM asla çerçevelenmez — Maven sitesini yeni sekmede açan bağlantı

Çerçevelenmiş bir Maven sayfası site içinde site gösterir (iki menü, iki başlık, kaydırma çubuğu içinde kaydırma çubuğu). Doğru/yanlış örneği için Adlandırma standardı ve site kuralları sayfasına bakın.

Ham veri nereden gelir?

calculator-app/target/surefire-reports/*.xml   <- Surefire: ham JUnit XML (junit2html bunu işler)
calculator-app/target/site/jacoco/jacoco.xml    <- JaCoCo: ham kapsama XML (ReportGenerator bunu okur)
reports/<platform>/api-doxygen/xml/             <- Doxygen: dokümantasyon yorumu envanteri (coverxygen okur)
reports/<platform>/doccoverage-lcov/lcov.info   <- coverxygen: lcov dosyası (genhtml VE ReportGenerator okur)

Bir sayfa boşsa ya da yoksa 7-build-all-windows.bat (Windows) veya ./7-build-all-linux.sh (Linux/WSL) dosyasını yeniden çalıştırın ve konsol çıktısını baştan okuyun — her adım [n/9] diye kendini duyurur.