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

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

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

Ở bài viết này mình sẽ hướng dẫn mọi người test với GET và POST của Controller trong Spring Boot với @WebMvcTest

  • Thêm những thư viện sau vào file build.gradle:

test Controller trong Spring Boot với @WebMvcTest

  • Sau đó ta tạo class có tên ExamControllerTest như sau:

test Controller trong Spring Boot với @WebMvcTest

  • Sau khi chúng ta chuẩn bị xong 2 bước trên sẽ tiến hành viết đoạn code test cho GET như sau:

test Controller trong Spring Boot với @WebMvcTest

Đoạn code trên ta sử dụng given(…).willReturn để tạo ra một mock object và sử dụng phương thức mvc.perform() để test phương thức findAll(), với phương thức này ta có thể cung cấp giá trị mình mong muốn phương thức trả về ví dụ như ở đoạn code trên thì giá trị mình mong muốn trả về là trạng thái của trang web là OK và một list Exam có độ dài là 2.

  • Còn đối với phương thức findById sẽ có 1 chút khác so với phương thức findAll khi ta tiến hành test:

test Controller trong Spring Boot với @WebMvcTest

Đối với phương thức findById ta vẫn sử dụng phương thức static là given(…).willReturn để tạo mock object nhưng nếu với phương thức findAll thì giá trị ta muốn trả về là một List Exam còn với phương thức findById thì giá trị trả về là một Optional Exam. Và giá trị expect lúc này là trạng thái OK và một object có dạng Json.

  • Còn đối với POST để test được thì trước hết ta phải tạo một phương thức để chuyển đổi chuỗi sang dạng Json như sau:

test Controller trong Spring Boot với @WebMvcTest

Sau đó ta mới tiến hành test phương thức create như sau:

test Controller trong Spring Boot với @WebMvcTest

Đối với phương thức create thì ở phương thức mvc.perform() ta truyền thêm object exam1 dưới dạng Json vào cho phương thức post để tiến hành kiểm tra việc thêm mới với giá trị mong muốn trả về là trạng thái Created cùng với object vừa mới được tạo dưới dạng Json

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.

5 + 10 =

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