2008-08-24 35 views

Trả lời

1

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.

2

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.

+0

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

+0

Tôi thực sự đang đề cập đến câu trả lời ngay bên dưới mục này :) – Mike

0

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 IsolatorTelerik 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.