Trang chủ » Blog » Hướng dẫn test Controller trong Spring Boot với @WebMvcTest (Phần 2)

Hướng dẫn test Controller trong Spring Boot với @WebMvcTest (Phần 2)

bởi CodeGym | 26/12/2023 17:15 | Blog

Trong bài viết trước mình đã hướng dẫn mọi người cách test GET và POST của controller trong SpringBoot với @WebMvcTest và ở bài viết này mình sẽ hướng dẫn cách test 2 phương thức PUT và DELETE với @WebMvcTest

Chúng ta lại chuẩn bị thư viện và class test như bài viết mình đã hướng dẫn lần trước tại đây

Sau khi đã chuẩn bị xong các thư viện và class cần thiết chúng ta bắt đầu test PUT trong controller như sau:

Để test phương thức update thì ta cần gọi đến 2 phương thức findById và save của ExamService thông qua given(…).willReturn(), khi phương thức findById được gọi sẽ tạo ra một mock Object là exam1 và sử dụng phương thức save để lưu lại mock Object này vì vậy để test update ta cần phải gửi request gồm có id và exam1 dạng Json và respone trả về phải là trạng thái 200 và exam1 dạng Json sau khi update.

 Còn đối với phương thức delete để xóa phương thức này thì ta cũng phải sử dụng đến phương thức findById của ExamService như sau:

Tương tự như phương thức update ta vẫn sử dụng given() cho phương thức findById để tạo mock Object exam1 khi tìm kiếm theo exam có id là 1. Nhưng ở đây chúng ta cần sử dụng phương thức tĩnh doNothing() của Mockito thay vì dung given() cho phương thức remove() vì với phương thức doNothing() thì hàm remove() vẫn sẽ được gọi nhưng nó sẽ không làm gì cả, không làm ảnh hưởng đến các bộ test trong class.

Author: Nguyễn Minh Quân

Đăng ký nhận bộ tài liệu kỹ năng dành cho lập trình viên (video hướng dẫn + slide) tại đây

Tags:

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

8 + 1 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM