Memandangkan pembangunan perisian terus berkembang, ujian menjadi semakin penting. Dalam pembangunan tangkas, ujian adalah pautan penting. Ujian dibahagikan kepada dua jenis: ujian unit dan ujian integrasi. Ujian unit menguji bahagian kecil kod bebas ujian integrasi menguji keseluruhan sistem. Artikel ini akan menumpukan pada ujian unit dan ujian integrasi berdasarkan Spring Boot.
1. Pengujian Unit
Rangka Kerja Spring Boot menyediakan rangka kerja ujian unit yang lengkap. Dengan menggunakan rangka kerja Spring Boot Test, kami boleh menulis kes ujian dengan mudah. Berikut ialah kes ujian mudah:
@RunWith(SpringRunner.class) @SpringBootTest public class UserServiceTest { @Autowired UserService userService; @Test public void testFindById() { User user = userService.findById(1L); Assert.assertNotNull(user); Assert.assertEquals("张三", user.getName()); } }
Antaranya, anotasi @RunWith
menentukan pelari ujian sebagai SpringRunner.class
, yang digunakan untuk memuatkan konteks Spring ApplicationContext. @SpringBootTest
Menentukan aplikasi Spring Boot untuk dimuatkan dan memulakan konteks aplikasi untuk ujian.
Dalam kes ujian, kami secara automatik memasang @Autowired
dengan menggunakan anotasi UserService
dan memanggil kaedah findById
di dalamnya untuk ujian. Tentukan sama ada nilai pulangan memenuhi jangkaan dengan menggunakan pernyataan Assert
.
2. Ujian integrasi
Spring Boot menyediakan pelbagai kaedah ujian untuk melengkapkan ujian integrasi. Kami boleh menggunakan anotasi @SpringBootTest
untuk memuatkan aplikasi Spring Boot dan menggunakan TestRestTemplate
untuk menghantar permintaan HTTP.
Berikut ialah contoh:
@RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class UserControllerTest { @Autowired private TestRestTemplate restTemplate; @Test public void testFindById() { User user = restTemplate.getForObject("/users/1", User.class); Assert.assertEquals("张三", user.getName()); } }
di mana nilai parameter @SpringBootTest
dalam webEnvironment
ialah WebEnvironment.RANDOM_PORT
, menunjukkan bahawa port rawak digunakan untuk memulakan konteks aplikasi. TestRestTemplate
Digunakan untuk menghantar permintaan HTTP. Dalam kes ujian, kami menghantar permintaan HTTP GET ke /users/1
dan menggunakan pernyataan Assert
untuk menentukan sama ada nilai pulangan memenuhi jangkaan.
3. Ringkasan
Spring Boot menyediakan set lengkap rangka kerja ujian unit dan integrasi, yang memudahkan untuk menulis kes ujian. Dalam pembangunan sebenar, kita harus menulis seberapa banyak kes ujian yang mungkin untuk memastikan kualiti dan kestabilan kod. Pada masa yang sama, kami juga boleh melengkapkan automasi ujian dan meningkatkan kecekapan dan kualiti pembangunan dengan menyepadukan alat CI/CD.
Atas ialah kandungan terperinci Ujian unit dan ujian integrasi berdasarkan Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!