Tôi mới đến thử nghiệm đơn vị. Nhưng làm cách nào để đơn vị kiểm tra DAL của tôi được viết bằng Entity Framework, vì vậy tôi có thể đảm bảo mã DAL của tôi hoạt động chính xác nhưng không có cơ sở dữ liệu nào thực sự được chạm vào? Ai đó có thể cung cấp càng nhiều chi tiết càng tốt.Làm thế nào để đơn vị chính xác kiểm tra DAL của tôi?
Trả lời
Nếu bạn muốn kiểm tra xem lớp truy cập dữ liệu của bạn có hoạt động chính xác không, bạn thực sự cần kiểm tra nó với cơ sở dữ liệu tại một số điểm nếu không bạn không thực sự thử nghiệm nó hoạt động.
Khi tôi kiểm tra đơn vị DAL của mình, tôi sử dụng các giao dịch và quay lại vào cuối kiểm tra đơn vị, do đó, db sẽ sạch.
thú vị, không bao giờ nghĩ về điều đó, tôi chắc chắn tôi có thể google nó nhưng bạn có một đoạn mã về cách bạn làm điều đó? –
Tuy nhiên, đây không phải là bài kiểm tra đơn vị, nhưng là một bài kiểm tra tích hợp, điều này là tốt. Nhiều khung công tác có các bài kiểm tra tích hợp của họ trỏ đến một cơ sở dữ liệu thử nghiệm riêng biệt, với các giao dịch tự động trên mỗi bài kiểm tra riêng lẻ. –
NUnit có thực hiện tự động chuyển đổi này khi thử nghiệm không? Nếu vậy làm thế nào để tôi cấu hình nó để làm điều đó? –
Kiểm tra đơn vị một DAL là một nhức đầu rất phổ biến trong quá trình phát triển. Đối với hầu hết các phần, tôi đề nghị bạn bỏ qua nó.
Hầu hết các ORM ngày này cung cấp một số loại ngôn ngữ truy vấn, có thể là LINQ hoặc HQL hoặc một số hương vị khác. Bởi vì một bài kiểm tra đơn vị thích hợp yêu cầu bạn không thực sự nhấn cơ sở dữ liệu, bạn phải thử ORM và làm điều đó là nỗi đau lớn nhất trong ass bạn có thể nghĩ đến. Nó không đáng, IMO. Cuối cùng, bạn chỉ kết thúc thử nghiệm mà bạn đã viết truy vấn thích hợp trong mã của bạn; bạn không nhận được giá trị hồi quy nào cả và có thể phục vụ tốt hơn mục đích của bạn bằng cách kiểm tra mã.
Tôi không nói bạn không nên kiểm tra việc sử dụng DAL, tuy nhiên; chỉ cần không thử kiểm tra đơn vị. Bạn vẫn nên có một bộ tích hợp và kiểm tra chấp nhận người dùng cho chương trình/hệ thống của bạn; hãy để những người xử lý đó kiểm tra quyền truy cập dữ liệu của bạn.
- 1. Kiểm tra đơn vị - Làm thế nào để tiếp tục?
- 2. Kiểm tra đơn vị - Những gì không để kiểm tra
- 3. kiểm tra đơn vị python cách làm thế nào để
- 4. Hadoop: Làm thế nào để kiểm tra đơn vị FileSystem
- 5. Làm thế nào để kiểm tra đơn vị IDisposable?
- 6. Làm thế nào để bạn kiểm tra đơn vị?
- 7. Tôi đã tiêm HttpServletRequest vào một bean. Làm thế nào để đơn vị kiểm tra nó?
- 8. Làm thế nào để đơn vị kiểm tra lỗi biên dịch cố ý của mã mẫu
- 9. Làm thế nào để viết bài kiểm tra đơn vị kiểm tra bất biến đồng thời
- 10. Tôi làm cách nào để kiểm tra tính bền vững của đơn vị?
- 11. Làm thế nào để kiểm tra đơn vị API của bạn?
- 12. DAO Kiểm tra đơn vị
- 13. Kiểm tra đơn vị DAO, tôi có làm đúng không?
- 14. Đơn vị kiểm tra destructors?
- 15. Tư vấn kiểm tra đơn vị - cách kiểm tra đơn vị của bạn .asmx
- 16. Làm thế nào để bạn kiểm tra đơn vị hành động ASP.Net MVC JsonResult của bạn?
- 17. Mock UdpClient để kiểm tra đơn vị
- 18. Đơn vị kiểm tra RedirectToRouteResult
- 19. Làm thế nào để xác định vị trí cho kết quả kiểm tra đơn vị trong VS 2010?
- 20. Đơn vị kiểm tra TSQL
- 21. Khung kiểm tra đơn vị C nào?
- 22. Làm cách nào để phân tích mã có ý nghĩa của các bài kiểm tra đơn vị của tôi?
- 23. Làm thế nào để đơn vị chức năng kiểm tra gọi localtime() trong Perl?
- 24. Làm thế nào để kiểm tra cờ byte của tôi?
- 25. Làm thế nào để bạn biết những gì để kiểm tra khi viết bài kiểm tra đơn vị?
- 26. Làm thế nào để bạn (Đơn vị) Kiểm tra lược đồ cơ sở dữ liệu?
- 27. Tôi có thể kiểm tra đơn vị Mã khung thực thể đầu tiên như thế nào?
- 28. Làm thế nào để mô hình đồng thời trong các bài kiểm tra đơn vị?
- 29. Tôi làm cách nào để kiểm tra đơn vị cho EXC_BAD_ACCESS?
- 30. Làm thế nào để viết các bài kiểm tra đơn vị đa luồng?
+1 Và nếu cơ sở dữ liệu thử nghiệm không tồn tại, bạn nên tạo một cơ sở dữ liệu (có vẻ như OP quan tâm đến các cập nhật dữ liệu). –
Vai trò của chế nhạo là gì, ai đó có thể giải thích việc sử dụng điều đó so với vai trò của một cơ sở dữ liệu thử nghiệm? –
Một cơ sở dữ liệu thử nghiệm sẽ là những gì bạn sẽ chạy thử nghiệm tích hợp của bạn chống lại (các bài kiểm tra DAL của bạn). Mocking sẽ được sử dụng để thay thế DAL của bạn cho các bài kiểm tra đơn vị để bạn chỉ kiểm tra logic thực sự nhấn cơ sở dữ liệu (ví dụ: Bạn đảm bảo mã của bạn gọi đúng DAL của bạn bằng cách cung cấp mô hình). – Todd