Sau một vài năm mã hóa và làm việc trên các dự án, tôi sẽ đưa ra câu trả lời cho câu hỏi của riêng mình.
Có, bạn nên viết bài kiểm tra đơn vị. Các bài kiểm tra từ đầu đến cuối khó viết và dễ vỡ hơn, đặc biệt nếu chúng dựa vào các thành phần UI.
Nếu bạn đang sử dụng một khung như Django hoặc Rails (hoặc các lớp tùy chỉnh của riêng bạn), bạn nên có một lớp biểu mẫu sẽ xử lý xác thực biểu mẫu. Bạn cũng sẽ có các lớp xem hiển thị các mẫu được hiển thị và biểu mẫu và xử lý các yêu cầu GET và POST.
Trong một kết thúc để kiểm tra, bạn sẽ:
- lấy url
- điền vào mẫu với dữ liệu hợp lệ
- gửi mẫu vào url
- kiểm tra để đảm bảo cơ sở dữ liệu đã được cập nhật hoặc một số hành động đã được thực hiện do kết quả của biểu mẫu hợp lệ
Bạn đang kiểm tra rất nhiều mã và phạm vi bảo hiểm của bạn sẽ khá tốt nhưng bạn chỉ kiểm tra đường dẫn hạnh phúc khi mọi thứ đều ổn. Làm thế nào để bạn đảm bảo rằng biểu mẫu có xác nhận đúng trong đó? Điều gì nếu hình thức đó được sử dụng trên nhiều trang? Bạn có viết một kết thúc khác để kết thúc bài kiểm tra?
Hãy thử lại lần nữa với các bài kiểm tra đơn vị:
- kiểm tra xem phương thức GET
- kiểm tra phương thức POST với dạng giả / giả
- kiểm tra biểu mẫu với dữ liệu hợp lệ
- kiểm tra biểu mẫu với dữ liệu không hợp lệ
- kiểm tra tác dụng phụ của mẫu
Bằng cách sử dụng các bài kiểm tra đơn vị, bạn đang kiểm tra các đoạn mã nhỏ hơn và các bài kiểm tra cụ thể và dễ viết hơn. Khi bạn kết hợp điều này với TDD (Phát triển dựa trên thử nghiệm), bạn sẽ có được mã chất lượng cao hơn.
Không nên bỏ qua các bài kiểm tra đơn vị dễ dàng vì khi bạn tham gia một dự án không có kiểm tra tự động, bạn phải bắt đầu ở đâu đó. Bắt đầu với các bài kiểm tra đơn vị dễ dàng hơn và nhanh hơn và cho phép bạn ngay lập tức bắt đầu kiểm tra các lỗi thay vì chỉ cho đường dẫn hạnh phúc.
was told by a co-worker that the reason for this is that we can rip out and change the underlying implementation at any point as long as the end-to-end tests pass.
- Điều đó cũng đúng với các bài kiểm tra đơn vị. Tôi nghe có vẻ như các bài kiểm tra đầu cuối đang được sử dụng như một cái cớ để không viết bài kiểm tra đơn vị.