2010-09-09 39 views
7

Tôi hiểu cách giả lập giao diện hoặc cuộc gọi phương thức ảo. Nhưng các framework như TypeMock có thể giả lập mọi thứ trong khung công tác. Cơ chế .NET nào được sử dụng để cung cấp các chức năng như vậy?Làm thế nào để thử tất cả mọi thứ?

Trả lời

8

Typemock Isolator ví dụ sử dụng CLR profiler API để đánh chặn các cuộc gọi .NET và thay đổi chúng trong thời gian chạy:

Quote:

Typemock Isolator sử dụng một khía cạnh định hướng thiết kế lập trình tạo ra một mô hình khía cạnh. Nội bộ, nó sử dụng NET Framework profiler API để giám sát việc thực thi của ứng dụng . Khi phương pháp được CLR tải, Typemock Bộ cách ly truy xuất IL và thay thế bằng mã IL được thiết bị. Typemock Bộ cách ly không thay đổi mã số ban đầu của bạn, nó chỉ cần chèn mã mới gọi là khung cách ly Typemock Isolator và trả về giá trị giả.

+0

Cám ơn câu trả lời của bạn. Bạn có thể giới thiệu một bài viết hay về API này không? –

+0

[Bài viết này] (http://msdn.microsoft.com/en-us/magazine/cc300553.aspx) là một khởi đầu tốt. –

0

Mock Everything là một trong những tính năng dành cho khung Mock. tất cả mọi thứ Mock trong ngắn hạn là để thử tất cả mọi thứ trong một lớp học, chẳng hạn như

  • đối tượng phụ thuộc mock
  • phương pháp phi ảo
  • lớp niêm phong
  • phương pháp tĩnh
  • lớp tĩnh
  • phi thành viên công cộng
  • loại ngoài công lập

JustMock & TypeMock cả hai đều cung cấp tính năng này.

Bạn thực sự có thể nhìn vào mã nguồn của một số mã nguồn mở khuôn khổ giả như khuôn khổ Moq, dễ dàng Mock, Rhino Mocks, vv

Tiết lộ: Xin lưu ý rằng liên kết được cung cấp là các trang web của riêng tôi

Các vấn đề liên quan