Melangkau Ujian Dengan Gradle

1. Pengenalan

Walaupun ujian melangkau biasanya merupakan idea yang tidak baik, namun ada beberapa situasi di mana ia mungkin berguna, dan ini akan menjimatkan masa kita. Sebagai contoh, anggaplah kami sedang mengembangkan fitur baru, dan kami ingin melihat hasilnya dalam binaan antara. Dalam kes ini, kami mungkin melangkau ujian untuk sementara waktu untuk mengurangkan overhead penyusunan dan menjalankannya. Tidak dinafikan, mengabaikan ujian boleh menyebabkan banyak masalah serius.

Dalam tutorial ringkas ini, kita akan melihat cara melangkau ujian ketika menggunakan alat binaan Gradle.

2. Menggunakan Bendera Perintah

Pertama, mari buat ujian mudah yang ingin dilangkau:

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

Semasa kita menjalankan perintah build :

gradle build

Kami akan melihat menjalankan tugas:

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

Untuk melangkau sebarang tugas dari Gradle build, kita dapat menggunakan pilihan -x atau –kecualikan-tugas . Dalam kes ini, kami akan menggunakan " -x test " untuk melangkau ujian dari binaan.

Untuk melihatnya dalam tindakan, mari jalankan perintah build dengan pilihan -x :

gradle build -x test

Kami akan melihat menjalankan tugas:

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

Akibatnya, sumber ujian tidak disusun dan, oleh itu, tidak dilaksanakan.

3. Menggunakan Skrip Bina Gradle

Kami mempunyai lebih banyak pilihan untuk melangkau ujian menggunakan skrip Gradle build. Sebagai contoh, kita boleh skip ujian berdasarkan beberapa syarat atau hanya dalam persekitaran tertentu menggunakan onlyIf () kaedah . Ujian akan dilangkau jika kaedah ini kembali salah .

Mari melangkau ujian berdasarkan pemeriksaan harta tanah projek:

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

Sekarang, kita akan menjalankan perintah build dan menyampaikan sebahagian Properti ke Gradle:

gradle build -PsomeProperty

Oleh itu, Gradle melangkau ujian:

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

Lebih-lebih lagi, kita boleh mengecualikan ujian berdasarkan pakej atau nama kelas mereka menggunakan harta pengecualian dalam fail build.gradle kami :

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

Kita juga boleh melangkau ujian berdasarkan corak regex. Sebagai contoh, kita dapat melewati semua ujian yang nama kelasnya diakhiri dengan kata " Integrasi ":

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

4. Kesimpulan

Dalam tutorial ini, kami telah belajar bagaimana melangkau ujian semasa menggunakan alat binaan Gradle. Kami juga menjalani semua pilihan yang relevan yang dapat kami gunakan pada baris perintah, dan juga pilihan yang dapat kami gunakan dalam skrip build Gradle.