Làm thế nào để bạn thử nghiệm đơn vị HttpModule
trong asp.net cho rằng HttpApplication
và HttpContext
không thực hiện giao diện?Kiểm thử đơn vị IHttpModule
Trả lời
Trong quá khứ trước khi chuyển sang ASP.NET MVC, tôi đã sử dụng this library Phil Haack được tạo cho Đơn vị kiểm tra mọi thứ sử dụng HttpApplication và HttpContext. Nó trong biến được sử dụng một Duck Typing library.
Thật không may, đây là cách tốt nhất để làm điều đó. ASP.NET đã không được thực hiện để dễ dàng kiểm tra. Khi họ làm việc trên ASP.NET MVC, một trong những mục tiêu là để loại bỏ những cơn đau đầu này bằng cách làm cho khuôn khổ dễ kiểm tra hơn.
Về cơ bản, bạn cần loại bỏ sự phụ thuộc của HttpModule trên HttpApplication và HttpContext, thay thế chúng bằng giao diện. Bạn có thể tạo IHttpApplication của riêng mình và IHttpContext (cùng với IHttpResonse, IHttpRequest, v.v.) hoặc sử dụng những cái được đề cập bởi @Dale Ragan hoặc sử dụng những cái mới sáng bóng trong System.Web.Abstractions đi kèm với các bản xem trước mvc asp.net.
Bạn có thể sử dụng khung cách ly (chế nhạo). Tôi biết hai công cụ cho phép bạn giả mạo/giả lập bất kỳ đối tượng .NET nào - Typemock Isolator và Telerik JustMock tôi nghĩ rằng bạn cũng có thể sử dụng Moles.
Tất cả những điều trên sẽ cho phép bạn giả mạo bất kỳ sự kiện đối tượng .NET nào nếu nó không triển khai giao diện hoặc thậm chí có công cụ phát hiện công khai.
- 1. Kiểm thử đơn vị PHP
- 2. Khung kiểm thử đơn vị nào?
- 3. WPF MVVM và Kiểm thử Đơn vị
- 4. Đơn vị kiểm thử ứng dụng facebook
- 5. Kiểm thử đơn vị với Mockito
- 6. Kiểm thử đơn vị trong C++
- 7. Kiểm thử đơn vị ASP.NET Windows7/IIS7
- 8. Kiểm thử đơn vị trong C++
- 9. Kiểm thử đơn vị trong PHP?
- 10. Thử nghiệm đơn vị với số đơn
- 11. Icefaces thử nghiệm đơn vị
- 12. mùi thử nghiệm đơn vị
- 13. Kiểm thử đơn vị dịch vụ web - HttpContext
- 14. Kiểm thử đơn vị với một tệp đầu vào
- 15. Thử nghiệm đơn vị C#, cách kiểm tra lớn hơn
- 16. Kiểm thử đơn vị trong Visual C# 2010 Express?
- 17. Thử nghiệm tính năng so với đơn vị kiểm tra
- 18. Kiểm thử đơn vị trong SQL Server Management Studio
- 19. Kiểm thử đơn vị chương trình KHÔNG nên làm gì
- 20. Kiểm thử đơn vị đối với các lỗi biên dịch
- 21. Tải hình ảnh thử nghiệm để kiểm tra đơn vị
- 22. Kiểm thử đơn vị Node.js và WebSockets (Socket.io)
- 23. Kiểm thử đơn vị ... cách cải thiện nó
- 24. Thử nghiệm Đơn vị XNA
- 25. Thử nghiệm đơn vị sau khi thử nghiệm
- 26. Quy tắc thử nghiệm đơn vị
- 27. Tích hợp vs Thử nghiệm Đơn vị
- 28. Thử nghiệm đơn vị hộp đen
- 29. Thử nghiệm đơn vị trong CakePHP?
- 30. plugins maven thử nghiệm đơn vị
Bạn có thể chỉ cho tôi bài viết của @Dale Ragan không. PS: Tôi không có quyền truy cập vào Twitter – chugh97
Tôi thực sự đang đề cập đến câu trả lời ngay bên dưới mục này :) – Mike