Nếu SP có nghĩa là để thay đổi dữ liệu, và nếu bạn không cho phép các dữ liệu thay đổi, sau đó sẽ như thế nào bạn "test" SP? Bạn sẽ chắc chắn rằng nó không chết? Điều gì sẽ xảy ra nếu nó không trả về lỗi, nhưng không chèn dữ liệu?
Bạn có thể đi theo một đường dẫn tương tự như những gì Valamas đề xuất, nhưng bạn cũng cần thực sự kiểm tra SP. Ví dụ, nếu dữ liệu cụ thể có nghĩa là để được chèn dựa trên các giá trị tham số đặc biệt, sau đó bạn sẽ phải:
- Bắt đầu một giao dịch
- Tạo bất kỳ dữ liệu thử nghiệm trong cơ sở dữ liệu
- Gọi SP với tham số đặc biệt đánh giá cao
- Tuy nhiên trong phạm vi giao dịch, kiểm tra các cơ sở dữ liệu để xem nếu các hàng đúng được chèn
- cuộn trở lại giao dịch
Tôi không thể chỉ cho bạn mã, nhưng tôi đã thành công trong việc thực hiện đoạn mã trên trong .NET, sử dụng khung kiểm thử đơn vị Visual Studio. Người ta có thể làm tương tự với NUnit hoặc bất kỳ khung kiểm thử đơn vị nào khác. Tôi không sử dụng tính năng Thử nghiệm Đơn vị Cơ sở dữ liệu của các Dự án Cơ sở dữ liệu Visual Studio. Tôi chỉ cần thực hiện các bước trên bằng mã, sử dụng ADO.NET và lớp SqlTransaction
để kiểm soát giao dịch.
Nguồn
2012-03-19 02:39:45