Ừ cậu, trong test case mà cậu viết, nó không có ích gì thật
Có chăng. chỉ tăng chỉ số code coverage thôi.
Rule of thumb ở đây là cậu chỉ nên test những hàm có chứa logic. Trong trường hợp của cậu, getter chỉ đơn thuần trả về giá tri, không làm bất cứ thứ gì fancy, nên cậu không cần test nó.
Một trường hợp khác cậu không cần test, là các method chỉ có nhiệm vụ forward cho đối tượng khác - ví dụ UserService#fetchUser
, method này chỉ đơn giản forward việc khó nhất cho UserRepository
và đưa kết quả cho layer khác, mà không có bất cứ xử lý nào.
Ví dụ về hàm mà cậu nên test: Giả sử cậu cần test UserService#calculateAge
method - hàm này lấy dữ liệu năm sinh từ database và tính ra tuổi.
Lúc đó, cậu cần mock UserRepository#selectUser(int)
để fake dữ liệu người dùng nào đó từ DB, sau đó verify kết quả tính toán từ dữ liệu fake đó.
Hi vọng ví dụ trên giúp cậu hiểu được 