Melewati Tes Dengan Gradle

1. Perkenalan

Meskipun melewatkan tes biasanya merupakan ide yang buruk, ada beberapa situasi yang mungkin berguna, dan ini akan menghemat waktu kita. Misalnya, pertimbangkan kami sedang mengembangkan fitur baru, dan kami ingin melihat hasilnya dalam build perantara. Dalam kasus ini, kami mungkin melewatkan pengujian untuk sementara waktu untuk mengurangi overhead kompilasi dan menjalankannya. Tidak diragukan lagi, mengabaikan pengujian dapat menyebabkan banyak masalah serius.

Dalam tutorial singkat ini, kita akan melihat cara melewati pengujian saat menggunakan alat build Gradle.

2. Menggunakan Bendera Baris Perintah

Pertama, mari buat tes sederhana yang ingin kita lewati:

@Test void skippableTest() { Assertions.assertTrue(true); }

Saat kami menjalankan perintah build :

gradle build

Kami akan melihat tugas yang sedang berjalan:

> ... > Task :compileTestJava > Task :processTestResources NO-SOURCE > Task :testClasses > Task :test > ...

Untuk melewati tugas apa pun dari build Gradle, kita bisa menggunakan opsi -x atau –exclude-task . Dalam kasus ini, kita akan menggunakan " -x test " untuk melewati pengujian dari build.

Untuk melihatnya beraksi, mari jalankan perintah build dengan opsi -x :

gradle build -x test

Kami akan melihat tugas yang sedang berjalan:

> Task :compileJava NO-SOURCE > Task :processResources NO-SOURCE > Task :classes UP-TO-DATE > Task :jar > Task :assemble > Task :check > Task :build

Akibatnya, sumber pengujian tidak dikompilasi dan, oleh karena itu, tidak dijalankan.

3. Menggunakan Gradle Build Script

Kami memiliki lebih banyak opsi untuk melewati pengujian menggunakan skrip build Gradle. Sebagai contoh, kita dapat melewati tes didasarkan pada beberapa kondisi atau hanya dalam lingkungan tertentu menggunakan onlyIf () metode . Tes akan dilewati jika metode ini mengembalikan false .

Mari lewati pengujian berdasarkan pemeriksaan properti proyek:

test.onlyIf { !project.hasProperty('someProperty') }

Sekarang, kita akan menjalankan perintah build dan meneruskan someProperty ke Gradle:

gradle build -PsomeProperty

Oleh karena itu, Gradle tidak menjalankan pengujian:

> ... > Task :compileTestJava > Task :processTestResources NO-SOURCE > Task :testClasses > Task :test SKIPPED > Task :check UP-TO-DATE > ...

Selain itu, kami dapat mengecualikan pengujian berdasarkan nama paket atau kelasnya menggunakan properti exclude di file build.gradle kami :

test { exclude 'org/boo/**' exclude '**/Bar.class' }

Kami juga dapat melewati pengujian berdasarkan pola regex. Misalnya, kita bisa melewati semua tes yang nama kelasnya diakhiri dengan kata " Integration ":

test { exclude '**/**Integration' }

4. Kesimpulan

Dalam tutorial ini, kita telah mempelajari cara melewati pengujian saat menggunakan alat build Gradle. Kami juga memeriksa semua opsi relevan yang dapat kami gunakan pada baris perintah, serta opsi yang dapat kami gunakan dalam skrip build Gradle.