Como algunos de ustedes sabrán, generalmente no es posible simular un método estático en .net.¿Cómo se burlan los métodos estáticos de "Typemock Isolator"?
Al burlarse, me refiero a reemplazar un método en una clase con otro método con la misma firma, generalmente con fines de prueba.
Los dos métodos principales utilizados para burlar un método son declararlo virtual o definirlo en una interfaz. Ninguno de estos dos está permitido para los métodos estáticos de .net.
Sin embargo, existe una herramienta costosa llamada "Typemock Isolator" que permite la burla de métodos estáticos. ¿Cómo logra Isolator esta hazaña aparentemente imposible?
Dice en el sitio web, "Typemock Isolator utiliza tecnología orientada a aspectos para redirigir llamadas desde el código real. Esto permite a los desarrolladores definir el comportamiento del componente externo requerido para un escenario probado". Esperaba poder saber más acerca de cómo sucede eso. He oído hablar de herramientas orientadas a aspectos como "post compilador" como PostSharp. –
@Rising Star: Lo siento, he editado para agregar más información. PostSharp realmente modifica el código compilado. Typemock usa la API de .NET Profiler para interceptar realmente llamadas de método * cuando se las llama * y redirigirlas a la falsificación. – Randolpho
ACEPTADO: .net profiler api. ¿Dice en otro lugar en su página web que usan la aplicación de perfil .net, o lo conocen de otra manera? –