Trang chủ » Blog » Hướng dẫn viết test Controller (có Security) trong SpringBoot với annotation @SpringBootTest (Phần 2)

Hướng dẫn viết test Controller (có Security) trong SpringBoot với annotation @SpringBootTest (Phần 2)

bởi CodeGym | 06/12/2023 17:31 | Blog
  • Ở bài trước mình đã hướng dẫn cho mọi người cách viết test Controller đối với phương thức findAll và create có security trong Spring Boot và bài này mình sẽ hướng dẫn mọi người viết test với phương thức findById, update và delete trong ExamController
  • Đầu tiên chúng ta sẽ viết đoạn code test cho phương thức findById như sau

Ở đoạn code trên chúng ta cung cấp mock object exam 1 cho đoạn test qua phương thức given như trên và kết quả trả về mà mình mong muốn sẽ là 200 và object exam1 dạng Json

  • Sau khi đoạn code trên pass chúng ta tiếp tục test đến phương thức update cho ExamController như dưới đây với role admin:

Tương tự như cách test findById, chúng ta phải cung cấp một mock object exam1 cho đoạn test bằng phương thức given(…).willReturn(…).

  • Với role User

  • Do không có quyền chỉnh sửa Exam nên kết quả sẽ trả về trạng thái 403 cho chúng ta
  • Với phương thức delete:

Với phương thức delete trước tiên chúng ta cũng phải tạo một mock Exam cho đoạn test. Sau đó chúng ta sử dụng phương thức doNothing() có sẵn trong Mockitio để việc xóa Exam sẽ chỉ là xóa tạm thời không làm ảnh hưởng đến những bộ test khác có liên quan đến exam đó.

 

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

Tìm hiểu cách test Service trong Spring Boot 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.

11 + 14 =

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