2011-01-18 15 views
8

Esistono strutture di simulazione per Windows Phone 7 o devo creare manualmente i falsi?Quadro di simulazione di Windows Phone 7?

Non ho trovato nessuno su google, e anche se ho trovato Moq elencato nella pagina delle risorse WP7, non ho potuto farlo funzionare.

risposta

14

Non ci sono framework Mocking che supportano WP7 e sospetto che non ci sarà mai fino a quando WP7 non supporta Reflection.Emit.

Sul framework .net esistono many options esistenti per la creazione di un framework di simulazione (Profiler API, CodeDem, Refleciton.Emit, et al). La maggior parte di queste tecniche non funzionerà su Silverlight in quanto manca un bel po 'di BCL/CLR. Tutti i framework di simulazione di Silverlight esistenti utilizzano Reflection.Emit. WP7 non supporta Reflection.Emit e quindi nessun framework di simulazione Silverlight funzionerà su WP7.

Per questo motivo, personalmente testiamo gli assembly WP7 sul runtime di Silverlight. È tutt'altro che ottimale (fa schifo), ma è il meglio che si può fare date le circostanze.

Si potrebbe teoricamente costruire un framework Mocking che utilizza la tessitura MSIL Post-Build che dovrebbe funzionare su WP7, ma non è ancora stato fatto.

Se vuoi WP7 per sostenere Reflection.Emit considerare il voto su questo tema UserVoice: WP7 should support Reflection.Emit for Mocking frameworks

EDIT 2/12/2011: Refleciton.Emit è supportato su Mango. Evviva! I framework di simulazione basati su Reflection.Emit dovrebbero funzionare.

+0

Informazioni sul ** EDIT 2/12/2011 ** - Lo System.Reflection.Emit lo spazio dei nomi esiste, ma le classi concrete contenute in esso su WP7 Silverlight sono fortemente ridotte, per quanto posso vedere.Sai se ciò che è lì è abbastanza per prendere in giro? –

+1

Ho appena rilasciato una versione iniziale di un framework di simulazione per Windows Phone 7: http://moqalate.codeplex.com/ http://www.dontcodetired.com/blog/post/Introducing-%28probably%29-The -Worlds-Solo-Mocking-quadro-per-Windows-Phone-7-% 28WP7% 29.aspx –

4

Non sono a conoscenza di nessuno attualmente disponibile.

This article by David Gadd mostra un esempio di test sul telefono utilizzando oggetti falsi creati manualmente e può essere una risorsa utile.

0

Qualsiasi framework di simulazione che supporti Silverlight 3 dovrebbe funzionare con Windows Phone 7. Potrebbe essere necessario utilizzare una versione precedente del framework per "nasconderla" in Silverlight 3, comunque.

3

Ho appena ricevuto TypeMock Isolator e funziona con Windows Phone 7 (sortof).

È necessario creare un progetto di test di Visual Studio predefinito e verrà visualizzato un errore che informa che il progetto Windows Phone 7 non può essere referenziato, ma per qualche motivo i Mock and Tests funzionano perfettamente.

In ogni caso, sono davvero felice con i mock che è in grado di creare.

0

Volevo solo a notare alcune informazioni che ho trovato su MSDN:

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

Le classi finte sono stati sviluppati manualmente in quanto non è possibile utilizzare un quadro di scherno sulla piattaforma Windows Phone. quadri beffardo richiedono la capacità di emettere Microsoft Intermediate Language codice (MSIL), che non è attualmente possibile sulla piattaforma Windows Phone