Như một số bạn sẽ biết, thường không thể giả lập một phương thức tĩnh trong .net.Làm thế nào để "Typemock Isolator" giả lập các phương pháp tĩnh?
Bằng cách mô phỏng, tôi muốn thay thế một phương thức trong một lớp bằng một phương thức khác có cùng chữ ký, thường là cho mục đích thử nghiệm.
Hai phương pháp chính được sử dụng để mô phỏng phương thức là khai báo nó ảo hoặc xác định nó trong giao diện. Cả hai loại này đều không được phép sử dụng các phương thức tĩnh .net.
Tuy nhiên, có một công cụ đắt tiền gọi là "Typemock Isolator" cho phép mô phỏng các phương pháp tĩnh. Làm thế nào để Isolator thực hiện được điều này dường như không thể?
Nó nói trên trang web, "Typemock Isolator sử dụng công nghệ hướng-khía cạnh để chuyển hướng cuộc gọi từ mã thực. Điều này cho phép các nhà phát triển xác định hành vi của thành phần bên ngoài cần thiết cho một kịch bản thử nghiệm." Tôi đã hy vọng có thể biết thêm về điều đó xảy ra như thế nào. Tôi đã nghe nói về các công cụ "hậu biên dịch" theo hướng Aspect như PostSharp. –
@Rising Star: Rất tiếc, tôi đã chỉnh sửa để thêm thông tin. PostSharp thực sự sửa đổi mã đã biên dịch. Typemock sử dụng .NET Profiler API để thực sự chặn các cuộc gọi phương thức * khi chúng được gọi là * và chuyển hướng chúng đến giả. – Randolpho
CHẤP NHẬN: .net profiler api. Nó có nói ở đâu đó trên trang web của họ rằng họ sử dụng api profiler .net hay bạn có biết cách nào khác không? –