Là một người mới trong thực hành phát triển theo hướng thử nghiệm, tôi thường kết thúc trong một tình trạng khó khăn như thế nào để đơn vị kiểm tra sự bền bỉ cho một cơ sở dữ liệu.Tôi làm cách nào để kiểm tra tính bền vững của đơn vị?
Tôi biết rằng kỹ thuật này sẽ là một thử nghiệm hội nhập (không phải là một bài kiểm tra đơn vị), nhưng tôi muốn tìm hiểu những chiến lược tốt nhất cho những điều sau đây:
- truy vấn kiểm tra.
- Chèn thử nghiệm. Làm thế nào để tôi biết rằng chèn đã sai nếu nó không thành công? Tôi có thể kiểm tra nó bằng cách chèn và sau đó truy vấn, nhưng làm thế nào tôi có thể biết rằng truy vấn không sai?
- Kiểm tra cập nhật và xóa - giống như chèn thử nghiệm
Thực tiễn tốt nhất để thực hiện những việc này là gì?
Về kiểm tra SQL: Tôi biết rằng điều này có thể được thực hiện, nhưng nếu tôi sử dụng một Mapper O/R như NHibernate, nó gắn một số mụn cóc đặt tên trong các bí danh dùng cho các truy vấn đầu ra, và vì đó là không thể đoán trước tôi không chắc tôi có thể kiểm tra điều đó.
Tôi có nên từ bỏ mọi thứ và chỉ cần tin tưởng NHibernate? Tôi không chắc đó là thận trọng.
Tôi đồng ý, mặc dù tôi chưa bao giờ là người thuần chủng TDD, tôi chắc chắn thấy rất nhiều lợi ích của TDD nhưng bỏ qua thực tế và không thực sự kiểm tra hồ sơ của bạn vào và ra khỏi cơ sở dữ liệu của bạn. sẽ làm trong tự nhiên. Vì vậy, nhiều lần trước khi tôi nhận được một "lỗi" được gán cho tôi rằng mã của tôi không hoạt động và tôi sẽ chạy các bài kiểm tra đơn vị của mình và tìm ra một nhà phát triển khác dậm chân trên sproc của tôi (sprocs ác ác) và không bao giờ quan tâm để chạy các bài kiểm tra đơn vị của tôi để xem họ đã phá hủy toàn bộ hệ thống. –