Basit bir project with subprojects sahibiyim ve gradle test
komutunu çalıştırdığımda tüm testler için birleştirilmiş rapor oluşturmak istiyorum. Ben gradle documentation takip ettim ve şu eklediGradle - run testi Tüm alt modüller için test aşamasından sonra bir görev tanımlayın
: Ben gradle test testReport
yürüttüğünüzde
task testReport(type: TestReport) {
// make sure this task is run after all subproject test tasks
mustRunAfter subprojects*.test
destinationDir = file("$buildDir/reports/allTests")
// Include the results from the `test` task in all subprojects
reportOn subprojects*.test
}
Bu çalışır, ancak ben kök projesinde gradle test
veya gradle build
yürütüldüğünde - Görev testReport
çalıştırılmaz.
Her seferinde belirtmeksizin görevi nasıl yürütür? Yapınız için aşağıdaki kutuya tıklayınız:
Merhaba, cevabınız için teşekkür ederim. Çözümünüz bana şu hata mesajını veriyor: 'Kök projesi' özellik testi 'toplantısı' bulunamadı 'gradle-test-aggregation' –
Sadece kodunuza baktım. Java eklentisi tarafından 'test' görevi eklenir ve sadece java eklentisini alt projelere uygularsınız, bu yüzden gradle 'test' görevini bulamaz. Eklentiyi kök projenize de uygulayabilir veya "alt projeler" bölümünü "tüm projeler" haline getirebilirsiniz ve bu da işe yarayacaktır. – RaGe
Sanırım şimdi anlıyorum. Ben root projesinde java eklentisini kullanmak istemiyorum (boş bir kavanoz oluşturacak ve ne yapamayacaktı). 'Sahte' testi el ile tanımlamak ve istediğimi elde etmek için root build.gradle'da görevler oluşturmaktan daha iyi bir yol var mı? [updated build.gradle] (https://github.com/frant-hartm/gradle-aggregate-test-report/blob/master/build.gradle#L24) –