2010-09-09 17 views
7

Entiendo cómo simular interfaces o llamadas a métodos virtuales. Pero los frameworks como TypeMock pueden burlarse de todo en el marco. ¿Qué mecanismos .NET se usan para proporcionar tales funciones?¿Cómo se burla de todo?

Respuesta

8

Typemock aislador, por ejemplo, utiliza el CLR profiler API para interceptar llamadas .NET y cambiarlas durante el tiempo de ejecución:

Quote:

Typemock utiliza un aislador diseño de programación orientada a aspectos que crea una maqueta aspecto. Internamente, utiliza la API del perfilador .NET Framework para supervisar la ejecución de una aplicación . Cuando el CLR carga un método , Typemock Isolator recupera el IL y lo reemplaza por con código IL instrumentado. Typemock Isolator no cambia su código original IL, simplemente inserta el nuevo código que llama al marco Typemock Isolator y devuelve valores falsos.

+0

Gracias por Tu respuesta. ¿Podría recomendar un buen artículo sobre esta API? –

+0

[Este artículo] (http://msdn.microsoft.com/en-us/magazine/cc300553.aspx) es un buen comienzo. –

0

Mock Everything es una de las funciones de los frameworks Mock. Mock todo en corta es burlarse de todo en una clase, tal como

  • objetos dependientes simulacros
  • métodos no virtuales
  • clases sellados
  • métodos estáticos
  • clases estáticas
  • no miembros públicos
  • tipos no públicos

JustMock & TypeMock ambos proporcionan esta característica.

realidad Usted puede mirar en el código fuente de algunos de código abierto marcos simulados como marco Moq, Fácil Mock, burla de Rhino, etc.

Revelación: Tenga en cuenta que enlace que es de mi propio sitio web

Cuestiones relacionadas