Bagaimana untuk melakukan ujian unit di Java dengan Junit?
Jul 08, 2025 am 02:48 AMUjian unit adalah penting dalam projek Java, dan menguasai langkah -langkah utama Rangka Kerja Junit dapat membantu anda memulakan dengan cepat. 1. Memperkenalkan kebergantungan junit dan gunakan Maven atau Gradle untuk menambah API Jupiter dan ketergantungan enjin; 2. Tulis kelas ujian, gunakan anotasi @test untuk menandakan kaedah ujian, dan memudahkan panggilan penegasan melalui import statik; 3. Gunakan @beforeach, @aftereach, @beforeall dan @afterall untuk menguruskan kitaran hayat ujian; 4. Gunakan AssertEquals, AssertTrue, AssertNull dan AsseStrows untuk mengesahkan logik normal dan pengecualian untuk memastikan ketepatan dan kesempurnaan ujian.
Ujian unit adalah bahagian yang sangat penting dalam pembangunan perisian, terutamanya dalam projek Java, Junit adalah salah satu rangka kerja ujian yang paling biasa digunakan. Jika anda baru mula terlibat dalam ujian unit, anda mungkin merasa sedikit abstrak, tetapi sebenarnya, anda boleh memulakan dengan cepat dengan hanya menguasai beberapa perkara utama.

1. Memperkenalkan kebergantungan junit
Untuk menggunakan Junit dalam projek Java, anda mesti memastikan bahawa projek anda memperkenalkan kebergantungan yang betul. Kebanyakan projek Java moden menggunakan Maven atau Gradle untuk menguruskan kebergantungan.

-
Maven : Tambahkan kandungan berikut dalam
pom.xml
:<geterlihat> <groupid> org.junit.jupiter </groupId> <stifactid> Junit-jupiter-api </artifactid> <versi> 5.10.0 </versi> <scope> ujian </skop> </ketergantungan> <geterlihat> <groupid> org.junit.jupiter </groupId> <sttifactid> Junit-jupiter-engine </artifactid> <versi> 5.10.0 </versi> <scope> ujian </skop> </ketergantungan>
Gradle : Tambah dalam Fail
build.gradle
:tesmentplementation 'org.junit.jupiter: junit-jupiter-api: 5.10.0' testruntimeonly 'org.junit.jupiter: junit-jupiter-engine: 5.10.0'
Ambil perhatian bahawa nombor versi boleh diselaraskan seperti yang diperlukan. Pada masa ini, disyorkan untuk menggunakan Junit Jupiter (iaitu, Junit 5) dan bukannya versi lama Junit 4.
2. Tulis kelas ujian pertama
Biasanya kami akan membuat kelas ujian yang sepadan untuk setiap kelas perniagaan. Sebagai contoh, jika anda mempunyai kelas Calculator
, anda boleh membuat kelas CalculatorTest
.
import org.junit.jupiter.api.test; import statik org.junit.jupiter.api.assertions.*; kelas calculatortest { @Test void add_shouldReturnCorrectResult () { Kalkulator kalkulator = kalkulator baru (); int hasil = hitung (2, 3); AssertEquals (5, hasil); } }
Beberapa penjelasan:
- Gunakan anotasi
@Test
untuk menandakan ini adalah kaedah ujian. - Adalah disyorkan untuk menggunakan import statik
org.junit.jupiter.api.Assertions.*
, Supaya anda boleh menggunakan secara langsung dan kaedahassertEquals
lain. - Kaedah ujian penamaan harus jelas menyatakan niat ujian, seperti
add_shouldReturnCorrectResult
di atas.
3. Gunakan anotasi biasa dan kaedah kitaran hayat
Junit menyediakan beberapa anotasi yang berkaitan dengan kitaran untuk membantu anda melakukan permulaan atau pembersihan sebelum dan selepas ujian.
-
@BeforeEach
: Jalankan sebelum setiap kaedah ujian dilaksanakan. -
@AfterEach
: Jalankan selepas setiap kaedah ujian dilaksanakan. -
@BeforeAll
: Jalankan sekali sebelum keseluruhan kelas ujian bermula (biasanya kaedah statik). -
@AfterAll
: Jalankan sekali selepas keseluruhan kelas ujian selesai (juga sering kaedah statik).
Contohnya:
@Beforeach void setup () { // Inisialisasi sumber, seperti membuat objek, menyambung ke pangkalan data, dan lain -lain} @Aftereach void teardown () { // membersihkan sumber}
Kaedah ini sesuai untuk mengendalikan beberapa sumber atau negeri bersama, mengelakkan kod pendua.
4. Pernyataan dan ujian pengecualian
Sebagai tambahan kepada assertEquals
Asas, Junit juga menyokong banyak kaedah penegasan, seperti:
-
assertTrue(boolean condition)
-
assertNull(Object object)
-
assertThrows(Class<T> expectedType, Executable executable)
: Digunakan untuk menguji sama ada pengecualian yang ditentukan dilemparkan
Contohnya:
@Test void divide_shouldThrowExceptionWhendividebyZero () { Kalkulator kalkulator = kalkulator baru (); menegaskan (arithmeticException.class, () -> citchulate.divide (10, 0)); }
Ujian ini mengesahkan sama ada pengecualian dibuang dengan betul apabila pembahagi adalah 0.
Pada dasarnya itu sahaja. Terdapat banyak fungsi Junit, seperti ujian parameter, pengumpulan ujian, dan lain -lain, tetapi untuk pembangunan harian, menguasai penggunaan asas cukup untuk menangani kebanyakan senario terlebih dahulu. Apa yang tidak rumit tetapi mudah diabaikan ialah ketepatan penamaan dan pernyataan ujian, yang secara langsung mempengaruhi pemeliharaan dan keberkesanan ujian.
Atas ialah kandungan terperinci Bagaimana untuk melakukan ujian unit di Java dengan Junit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Langkah-langkah untuk antara muka ujian unit dan kelas abstrak dalam Java: Buat kelas ujian untuk antara muka. Buat kelas olok-olok untuk melaksanakan kaedah antara muka. Gunakan perpustakaan Mockito untuk mengejek kaedah antara muka dan menulis kaedah ujian. Kelas abstrak mencipta kelas ujian. Buat subkelas bagi kelas abstrak. Tulis kaedah ujian untuk menguji ketepatan kelas abstrak.

Anotasi dalam rangka kerja JUnit digunakan untuk mengisytiharkan dan mengkonfigurasi kaedah ujian Anotasi utama termasuk: @Ujian (pengisytiharan kaedah ujian), @Sebelum (kaedah dijalankan sebelum kaedah ujian dilaksanakan), @Selepas (kaedah dijalankan selepas kaedah ujian. dilaksanakan), @ BeforeClass (kaedah yang dijalankan sebelum semua kaedah ujian dilaksanakan), @AfterClass (kaedah yang dijalankan selepas semua kaedah ujian dilaksanakan), anotasi ini membantu mengatur dan memudahkan kod ujian dan meningkatkan kebolehpercayaan kod ujian dengan menyediakan niat dan konfigurasi yang jelas.

Analisis alat ujian unit PHP: PHPUnit: sesuai untuk projek besar, menyediakan fungsi yang komprehensif dan mudah dipasang, tetapi mungkin bertele-tele dan perlahan. PHPUnitWrapper: sesuai untuk projek kecil, mudah digunakan, dioptimumkan untuk Lumen/Laravel, tetapi mempunyai fungsi terhad, tidak menyediakan analisis liputan kod dan mempunyai sokongan komuniti terhad.

Dalam ujian unit fungsi Go, terdapat dua strategi utama untuk pengendalian ralat: 1. Wakilkan ralat sebagai nilai khusus jenis ralat, yang digunakan untuk menegaskan nilai yang dijangkakan 2. Gunakan saluran untuk menghantar ralat kepada fungsi ujian; yang sesuai untuk menguji kod serentak. Dalam kes praktikal, strategi nilai ralat digunakan untuk memastikan fungsi mengembalikan 0 untuk input negatif.

Ujian prestasi menilai prestasi aplikasi di bawah beban yang berbeza, manakala ujian unit mengesahkan ketepatan satu unit kod. Ujian prestasi memfokuskan pada mengukur masa tindak balas dan daya pemprosesan, manakala ujian unit memfokuskan pada output fungsi dan liputan kod. Ujian prestasi mensimulasikan persekitaran dunia sebenar dengan beban tinggi dan serentak, manakala ujian unit dijalankan di bawah beban rendah dan keadaan bersiri. Matlamat ujian prestasi adalah untuk mengenal pasti kesesakan prestasi dan mengoptimumkan aplikasi, manakala matlamat ujian unit adalah untuk memastikan ketepatan dan keteguhan kod.

Ujian dipacu jadual memudahkan penulisan kes ujian dalam ujian unit Go dengan mentakrifkan input dan output yang dijangka melalui jadual. Sintaks termasuk: 1. Tentukan kepingan yang mengandungi struktur kes ujian 2. Gelung melalui kepingan dan bandingkan keputusan dengan output yang dijangkakan. Dalam kes sebenar, ujian dipacu jadual telah dilakukan pada fungsi menukar rentetan kepada huruf besar, dan gotest digunakan untuk menjalankan ujian dan keputusan lulus telah dicetak.

Adalah penting untuk mereka bentuk kes ujian unit yang berkesan, mematuhi prinsip berikut: atom, ringkas, boleh berulang dan tidak jelas. Langkah-langkahnya termasuk: menentukan kod yang akan diuji, mengenal pasti senario ujian, mencipta penegasan dan menulis kaedah ujian. Kes praktikal menunjukkan penciptaan kes ujian untuk fungsi max(), menekankan kepentingan senario dan penegasan ujian tertentu. Dengan mengikuti prinsip dan langkah ini, anda boleh meningkatkan kualiti dan kestabilan kod.

Cara menggunakan Gomega untuk penegasan dalam ujian unit Golang Dalam ujian unit Golang, Gomega ialah perpustakaan penegasan yang popular dan berkuasa yang menyediakan kaedah penegasan yang kaya supaya pembangun boleh mengesahkan keputusan ujian dengan mudah. Pasang Gomegagoget-ugithub.com/onsi/gomega Menggunakan Gomega untuk penegasan Berikut ialah beberapa contoh biasa menggunakan Gomega untuk penegasan: 1. Import penegasan kesamaan "github.com/onsi/gomega" funcTest_MyFunction(t*testing.T){
