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

Testing
  • Ở 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

Xem thêm: Spring Boot là gì?

Đă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

Leave a Reply

Your email address will not be published. Required fields are marked *