Rumah >Java >javaTutorial >H ujian menyeronokkan di Musim Bunga
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! ?
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:
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
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.
Untuk Maven
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency>
Untuk Gradle
implementation 'com.h2database:h2'
Sekarang mari tulis ujian kami. Kami menghidupkan Spring, keajaiban anotasi dan sedikit minat untuk kod.
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>
@SpringBootTest: Meningkatkan konteks Spring (semuanya seperti dalam pengeluaran, tetapi selamat).
@Autowired: Suntikan kebergantungan kerana kami berhak mendapatnya.
UserRepository: repositori anda berfungsi seperti dalam pertempuran.
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!