Test Driven Development (TDD) ialah pendekatan pembangunan perisian di mana ujian ditulis sebelum kod sebenar. TDD telah mendapat perhatian yang besar kerana penekanannya pada kualiti dan kebolehselenggaraan kod. Artikel ini meneroka cara melaksanakan TDD dengan berkesan menggunakan JUnit5 dan Mockito, dua rangka kerja yang berkuasa dalam ekosistem Java.
Pembangunan Dipacu Ujian ialah proses pembangunan berulang Pembangun mula-mula menulis kes ujian untuk fungsi atau ciri baharu, kemudian menulis jumlah minimum kod untuk lulus ujian, dan akhirnya memfaktorkan semula kod kepada pengoptimuman. Pendekatan ini meningkatkan reka bentuk, mengurangkan ralat dan meningkatkan kebolehselenggaraan keseluruhan kod.
JUnit5 ialah versi terkini JUnit, rangka kerja ujian unit yang digunakan secara meluas dalam Java. Ia memperkenalkan beberapa ciri dan penambahbaikan baharu yang meningkatkan kemudahan dan fleksibiliti ujian di Jawa.
Mockito, sebaliknya, ialah rangka kerja mengejek untuk mencipta objek olok-olok dan mentakrifkan kelakuannya, berguna untuk menguji kod dengan kebergantungan luaran.
Langkah pertama dalam TDD ialah menulis ujian yang gagal. Untuk tujuan ini, dalam JUnit5 kami mentakrifkan kaedah beranotasi dengan @Test -
import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class ExampleTest { @Test void shouldReturnTrueWhenNumberIsEven() { Example example = new Example(); boolean result = example.isNumberEven(3); assertTrue(result); } }
Ujian ini akan gagal pada mulanya kerana kami belum melaksanakan kaedah isNumberEven dalam kelas Contoh.
Selepas ujian gagal, kami menulis kod yang cukup untuk lulus ujian. Contohnya -
class Example { boolean isNumberEven(int num) { return num % 2 == 0; } }
Jalankan ujian sekali lagi dan kita harus melihat bahawa ujian itu lulus kerana kaedah isNumberEven kini menyemak dengan betul sama ada nombor adalah genap.
Langkah terakhir melibatkan menapis dan mengoptimumkan kod tanpa mengubah tingkah lakunya. Walaupun contoh kami sangat mudah dan mungkin tidak memerlukan pemfaktoran semula, dalam kes yang lebih kompleks langkah ini mungkin melibatkan pengurangan redundansi, meningkatkan kebolehbacaan atau mengoptimumkan prestasi.
Terjemahan bahasa Cina bagiGunakan Mockito untuk mencipta objek olok-olok apabila kaedah yang perlu diuji melibatkan kebergantungan luaran. Ini membolehkan kaedah diuji secara berasingan −
import org.junit.jupiter.api.Test; import org.mockito.Mockito; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; class ExampleTest { @Test void shouldCallDependency() { // Arrange Dependency dependency = Mockito.mock(Dependency.class); Example example = new Example(dependency); // Act example.performAction(); // Assert verify(dependency, times(1)).action(); } }
Dalam ujian ini, kami mencipta objek pergantungan yang diejek dan mengesahkan bahawa apabila kami memanggil kaedah performAction pada objek Contoh, kaedah tindakannya dipanggil sekali.
Pembangunan Dipacu Ujian, digabungkan dengan JUnit5 dan Mockito, menyediakan asas yang kukuh untuk menulis kod berkualiti tinggi dan boleh diselenggara. Dengan memahami kitaran TDD dan menggunakan rangka kerja ini dengan berkesan, pembangun boleh meningkatkan kemahiran ujian dan kualiti kod mereka dengan ketara.
Atas ialah kandungan terperinci Pembangunan dipacu ujian menggunakan JUnit5 dan Mockito. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!