Một chút bối cảnh: Trước đó hôm nay tôi đã phải cập nhật một số mã SQL mà một đồng nghiệp khác của tôi đã cung cấp và vì nó là một tập lệnh khá lớn, nó được lưu trữ dưới dạng một tệp riêng biệt (sau đó được đọc và thực thi trong thời gian chạy). Trong khi làm điều này, tôi vô tình giới thiệu lại hai lỗi mà chúng tôi đã có một vài tháng trước đó là:
- Vì bất kỳ lý do gì, tệp ASCII đã được mã hóa trong UTF-16 (đồng nghiệp đã gửi email cho tôi tệp, có thể đã gây ra nó).
- Kịch bản bị thiếu các
SET
báo cáo ban đầu (bắt buộc do một số điều của trình điều khiển khi sản xuất, nhưng không phải là cài đặt sạch cục bộ).
Sau khi gỡ lỗi này khoảng một giờ (một lần nữa), tôi quyết định viết một số bài kiểm tra đơn vị để đảm bảo điều này sẽ không bao giờ xảy ra nữa (và bao gồm một cách nhanh chóng để sửa nó trong thông báo xác nhận để cung cấp một bản sửa lỗi dễ dàng cho các nhà phát triển trong tương lai).
Tuy nhiên, khi tôi đẩy mã này, một đồng nghiệp khác (cũng là trưởng nhóm của chúng tôi) bước đến gần tôi và nói với tôi rằng tôi không nên làm những điều này một lần nữa bởi vì:
"Những điều này không thuộc về bài kiểm tra đơn vị"
"Các thử nghiệm đơn vị chỉ nên được sử dụng để kiểm tra luồng mã của bạn"
Bây giờ tôi khá mâu thuẫn vì tôi vẫn nghĩ những gì tôi làm không sai, vì lỗi này sẽ không được giới thiệu lại trong tương lai, tuy nhiên đồng nghiệp này làm việc như một cấp cao và cuối ngày sẽ quyết định điều gì chúng tôi dành thời gian của chúng tôi trên. Tôi nên làm gì? Tôi có sai khi làm theo cách này không? Có được coi là thực hành xấu?