SQL Server Unit Testing: Sprocs

Là một nhà tư vấn, tôi không cần phải viết lại một truy vấn kém hiệu quả hoặc sproc mà không có sự hiểu biết đầy đủ về các quy tắc cơ bản hoặc ngữ cảnh. Cải thiện hiệu suất là mục tiêu được nêu ra, nhưng độ trung thực dữ liệu được ngụ ý là quan trọng.

Nhập kiểm tra đơn vị – điều mà nhiều người trong chúng ta dựa nhiều vào sự phát triển ‘bình thường’ ở cấp ứng dụng. Với sprocs / truy vấn tôi đã tìm thấy hai phương pháp tiếp cận mà làm việc tốt cho các đơn vị kiểm tra.

1) Tập tin văn bản: CTRL + SHIFT + F là bạn của bạn. Sử dụng nó để ‘ghi’ truy vấn kết quả trong hoặc QA hoặc MS vào một tập tin .txt, thay vì gửi kết quả để Text / Grid. Chỉ cần chắc chắn để đánh giá các tham số trong truy vấn / sproc được nhắm mục tiêu, và ghi một vài tập kết quả vào đĩa như các tập tin .txt. (Hãy chắc chắn để theo dõi những params tương ứng với tập kết quả). Sau đó, tinh chỉnh sproc / truy vấn của bạn nếu cần, sau đó chạy lại cùng một params, và xuất ra các tập tin văn bản tương ứng. Tại thời điểm này, bạn có thể chỉ cần sử dụng một ứng dụng differencing đơn giản (tôi thích sử dụng WinMerge – miễn phí và tuyệt vời) để xác minh rằng những thay đổi của bạn không ảnh hưởng đến logic.

2) Dữ liệu SQL So sánh: Red-Gate là bạn của bạn. (Đây là cách tiếp cận mà tôi thường sử dụng). Thay vì ‘đốt’ kết quả đến tập tin .txt, ‘đốt’ chúng vào ‘temp’ bảng trong DB. (Bởi ‘temp’ Tôi có nghĩa là dbo.unittest__12a hoặc một cái gì đó tương tự – không #temp, như tôi cần các bảng để xuất hiện để sử dụng bởi công cụ Red-Gate.) Chỉ cần đảm bảo rằng mỗi ‘temp’ bảng có một PK, và rằng bạn đã tạo bao nhiêu khi cần thiết để xác thực đầy đủ tất cả các tham số của bạn – sau đó tinh chỉnh các proc / truy vấn nếu cần, và sau đó sử dụng SQL Data So sánh để so sánh tất cả các bảng được sử dụng cho bài kiểm tra đơn vị của bạn. Tôi thích tuyến đường này vì nó cung cấp một cách nhìn rất rõ ràng để nhanh chóng so sánh kết quả.

Recent Posts

Recent Comments

    Archives

    Categories

    Meta