Có, bạn nên kiểm tra toàn bộ chuỗi sự kiện như một đơn vị. Vì vậy, trong ví dụ của bạn với một quy trình chèn vào bảng và gây ra một số kích hoạt, bạn nên viết các bài kiểm tra đơn vị để đánh giá thủ tục cho các đầu vào khác nhau. Mỗi thử nghiệm đơn vị phải vượt qua hoặc thất bại tùy thuộc vào việc nó trả về các giá trị chính xác, thay đổi trạng thái của các bảng một cách chính xác, tạo email chính xác và thậm chí gửi các gói mạng chính xác nếu nó được thiết kế để thực hiện điều đó. Trong ngắn hạn, mọi tác động của đơn vị phải được xác minh.
Bạn đã đúng, việc kiểm tra đơn vị thiết kế cần một số công việc, nhưng hầu hết công việc đó phải được thực hiện để kiểm tra đơn vị thủ công, bạn chỉ lưu công việc cần thiết để kiểm tra đơn vị để khi thay đổi được thực hiện trong tương lai, kiểm tra có thể chỉ là triệt để và dễ dàng hơn đáng kể.
Thay đổi dữ liệu làm cho việc kiểm tra trở nên khó khăn hơn, nhưng nó không làm cho việc kiểm tra trở nên ít quan trọng hơn và thực sự làm tăng giá trị của kiểm thử đơn vị vì hầu hết các khó khăn chỉ phải nghĩ qua một lần thay vì mỗi lần thay đổi được thực hiện cho đơn vị. Các bộ dữ liệu đã lưu, chèn / cập nhật / xóa là một phần của thiết lập / phân tích và hoạt động trong phạm vi hẹp đều có thể được sử dụng để làm cho việc này dễ dàng hơn. Vì câu hỏi không phải là cơ sở dữ liệu cụ thể, chi tiết sẽ thay đổi.
Không có ngưỡng phức tạp ở cấp cao hoặc cấp thấp sẽ ngăn bạn kiểm tra hoặc kiểm tra đơn vị. Hãy xem xét những câu hỏi sau:
- Bạn luôn luôn viết mã lỗi miễn phí?
- Có phải các đơn vị nhỏ luôn luôn không có lỗi?
- Có ổn không khi một đơn vị lớn có lỗi?
- Cần bao nhiêu lỗi để gây ra thảm họa?
Giả sử bạn bắt đầu một công việc mới và được giao nhiệm vụ tối ưu hóa cho một chức năng nhỏ được sử dụng ở nhiều nơi. Toàn bộ ứng dụng được viết và duy trì bởi một nhân viên mà thậm chí không ai còn nhớ. Các đơn vị có tài liệu mô tả hành vi dự kiến bình thường, nhưng ít khác. Bạn muốn tìm cái nào trong số này?
- Không có đơn vị kiểm tra bất cứ nơi nào trong ứng dụng. Sau khi thực hiện thay đổi, bạn có thể thực hiện một số thử nghiệm thủ công đối với chính đơn vị để đảm bảo rằng nó vẫn trả về các giá trị dự kiến trong tài liệu. Sau đó, bạn có thể đưa nó ra sản xuất, bắt chéo ngón tay của mình và hy vọng rằng nó hoạt động (sau tất cả, bạn luôn viết mã không có lỗi và tối ưu hóa trong một đơn vị không bao giờ có thể ảnh hưởng đến một đơn vị khác) hoặc dành một lượng lớn thời gian để tìm hiểu toàn bộ ứng dụng hoạt động để bạn có thể tự kiểm tra mọi đơn vị trực tiếp hoặc gián tiếp thực hiện.
- Đơn vị kiểm tra trong suốt ứng dụng chạy tự động hàng ngày hoặc theo yêu cầu. Họ kiểm tra không chỉ các giá trị đầu vào bình thường và phản ứng mong đợi của họ, mà cả các giá trị bất thường và các ngoại lệ dự kiến sẽ được nêu ra. Bạn thực hiện thay đổi của mình và chạy bộ kiểm tra đơn vị cho ứng dụng ngay lập tức khi thấy rằng ba đơn vị khác không còn trả về kết quả mong đợi. Hai trong số chúng là lành tính, vì vậy bạn tinh chỉnh các bài kiểm tra đơn vị để giải thích cho điều đó. Thứ ba đòi hỏi một tinh chỉnh nhỏ và một bài kiểm tra đơn vị nhỏ mới. Sau khi thực hiện các thay đổi, toàn bộ bộ thử nghiệm thành công và bạn tự tin thực hiện thay đổi.