Rumah >Java >javaTutorial >H ujian menyeronokkan di Musim Bunga

H ujian menyeronokkan di Musim Bunga

Patricia Arquette
Patricia Arquetteasal
2024-11-26 15:39:13315semak imbas

H весёлые тесты в Spring

Helo, pahlawan Jawa yang dikasihi! ? Jika anda berada di sini, maka sudah tiba masanya untuk pergi ke laluan ujian dan membuktikan bahawa kod anda berfungsi lebih baik daripada apa yang dijanjikan oleh pemasar. Hari ini kita akan bercakap tentang menguji logik dalam Spring menggunakan pangkalan data H2. jom pergi! ?

Mengapa kita memerlukan H2?

Bayangkan: anda sedang menulis perkhidmatan yang paling hebat, tetapi anda takut bahawa logik perniagaan anda hidup dalam dunia ilusi. Anda tidak mahu ujian memacu pangkalan data sebenar kerana:

  1. Lambat.
  2. Ia berisiko (memadamkan sesuatu secara tidak sengaja? Kami tidak begitu!).
  3. Ini terlalu realistik, dan H2 ialah matriks kami, di mana segala-galanya terkawal. H2 ialah kod rakan anda:
  • Ringan.
  • Terbina dalam.
  • Sesuai untuk ujian.

Menyediakan application.properties: biarkan H2 melakukan kerja untuk anda

Sebelum kita bermula, mari kita sediakan ujian selesa dunia kecil kita. Untuk melakukan ini, kami akan menulis tetapan yang diperlukan dalam src/test/resources/application.properties. Voila:

# Подключаем H2
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password

# Убедимся, что Hibernate всё за нас делает
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

Apakah maksud semua ini?

spring.datasource.url: menunjukkan bahawa kami ingin menggunakan pangkalan data "dalam memori" (mem:testdb), yang akan hilang sebaik sahaja kami mematikan ujian.
DB_CLOSE_DELAY=-1: pangkalan data akan hidup sehingga penghujung JVM (kestabilan jangka hayat!).
spring.jpa.hibernate.ddl-auto=create-drop: kami mencipta pangkalan data semasa menjalankan ujian, padamkannya selepas itu. Kebersihan adalah kunci kejayaan.

Menambah kebergantungan

Untuk Maven

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
</dependency>

Untuk Gradle

implementation 'com.h2database:h2'

Menyediakan ujian

Sekarang mari tulis ujian kami. Kami menghidupkan Spring, keajaiban anotasi dan sedikit minat untuk kod.

Contoh: Menambah pengguna

Katakan kita mempunyai entiti Pengguna:

# Подключаем H2
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password

# Убедимся, что Hibernate всё за нас делает
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

Menguji menambah pengguna

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
</dependency>

Apa yang berlaku di sini?

@SpringBootTest: Meningkatkan konteks Spring (semuanya seperti dalam pengeluaran, tetapi selamat).
@Autowired: Suntikan kebergantungan kerana kami berhak mendapatnya.
UserRepository: repositori anda berfungsi seperti dalam pertempuran.

Keputusan

Kini anda tahu cara mewujudkan persahabatan antara Spring, H2 dan ujian. Contoh-contoh ini adalah kunci anda kepada dunia yang tiada pepijat dan ujian berfungsi pada kali pertama. Jangan lupa: ujian tidak menjadikan kod anda lebih baik, tetapi ia membantu anda tidur nyenyak. Semoga berjaya! ?

Atas ialah kandungan terperinci H ujian menyeronokkan di Musim Bunga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn