2011-01-18 15 views
8

¿Existen marcos de burla para Windows Phone 7 o necesito crear falsificaciones manualmente?Marco de burla de Windows Phone 7?

No he encontrado ninguno en Google, y aunque encontré Moq en la página de recursos de WP7, no pude hacerlo funcionar.

Respuesta

14

No hay marcos de burla que admitan WP7 y sospecho que nunca habrá ninguno hasta que WP7 admita Reflection.Emit.

En el .NET Framework hay many options que existen para la creación de un marco de burla (Profiler API, CodeDem, Refleciton.Emit, et al). La mayoría de estas técnicas no funcionarán en Silverlight, ya que le falta bastante BCL/CLR. Todos los marcos de burla de Silverlight existentes usan Reflection.Emit. WP7 no admite Reflection.Emit y, por lo tanto, ningún marco de burla de Silverlight funcionará en WP7.

Por esa razón, personalmente pruebo ensamblajes WP7 en el tiempo de ejecución de Silverlight. Está lejos de ser óptimo (apesta), pero es lo mejor que se puede hacer bajo las circunstancias.

En teoría, se podría construir un marco de burla que utilice tejido MSIL posterior a la construcción que debería funcionar en WP7, pero aún está por hacer.

Si desea WP7 para apoyar Reflection.Emit considerar la votación sobre este tema uservoice: WP7 should support Reflection.Emit for Mocking frameworks

EDITAR 2/12/2011: Refleciton.Emit se apoya en Mango. ¡Hurra! Los marcos de burla basados ​​en Reflection.Emit deberían funcionar.

+0

Acerca de su ** EDIT 2/12/2011 ** - El System.Reflection.Emit espacio de nombres existe, pero las clases concretas contenidas en él en WP7 Silverlight están muy reducidas, hasta donde puedo ver.¿Sabes si lo que hay es suficiente para que te burles? –

+1

Acabo de lanzar una versión anterior de un marco burlón para Windows Phone 7: http://moqalate.codeplex.com/ http://www.dontcodetired.com/blog/post/Introducing-%28probably%29-The -Worlds-Only-Mocking-Framework-for-Windows-Phone-7-% 28WP7% 29.aspx –

4

No tengo conocimiento de ninguna disponible actualmente.

This article by David Gadd muestra un ejemplo de prueba en el teléfono utilizando objetos falsos creados manualmente y puede ser un recurso útil.

0

Cualquier marco de burla que admita Silverlight 3 debería funcionar con Windows Phone 7. Sin embargo, es posible que necesite utilizar una versión anterior del marco para "aturdir" a Silverlight 3.

3

Acabo de recibir TypeMock Isolator, y funciona con Windows Phone 7 (sortof).

Necesita crear un proyecto de prueba de Visual Studio predeterminado, y obtendrá un error que indica que no se puede hacer referencia a su proyecto de Windows Phone 7, pero por alguna razón los simulacros y las pruebas funcionan perfectamente.

De todos modos, estoy muy contento con los simulacros que es capaz de crear.

0

Sólo quería notar algo de la información que he encontrado en MSDN:

http://msdn.microsoft.com/en-us/library/hh821022.aspx#sec2

Las clases simuladas se desarrollaron de forma manual, ya que no es posible utilizar un marco de burla en la plataforma Windows Phone. marcos burlones requieren la capacidad de emitir lenguaje intermedio de Microsoft código (MSIL), lo cual no es posible en la actualidad en la plataforma Windows Phone