Windows Phone 7 Mock Framework?

8

Gibt es Spott-Frameworks für Windows Phone 7 oder muss ich Fälschungen manuell erstellen?

Ich habe bei Google keine gefunden, und obwohl ich Moq auf der Ressourcen-Seite von WP7 gefunden habe, konnte ich es nicht funktionieren.

    
Charlie 18.01.2011, 13:26
quelle

5 Antworten

14

Es gibt keine Mocking-Frameworks, die WP7 unterstützen, und ich vermute, dass es nie welche geben wird, bis WP7 Reflection.Emit unterstützt.

Im .net-Framework gibt es viele Optionen , die für die Erstellung eines Mocking Framework existieren (Profiler API, CodeDem, Refleciton.Emit, et al). Die meisten dieser Techniken werden bei Silverlight selbst nicht funktionieren, da es eine Menge BCL / CLR fehlt. Alle vorhandenen Silverlight-Frameworks verwenden Reflection.Emit. WP7 unterstützt Reflection.Emit nicht und daher wird kein Silverlight Mock Framework auf WP7 funktionieren.

Aus diesem Grund teste ich persönlich WP7 Assemblies auf der Silverlight Runtime. Es ist alles andere als optimal (es nervt), aber es ist das Beste, was unter diesen Umständen getan werden kann.

Man könnte theoretisch ein Mocking-Framework erstellen, das Post-Build-MSIL-Weben verwendet, das auf WP7 funktionieren sollte, aber es muss noch getan werden.

Wenn Sie möchten, dass WP7 Reflection.Emit unterstützt, sollten Sie die Abstimmung zu diesem Uservoice-Problem in Erwägung ziehen: WP7 sollte Reflection.Emit für Mocking-Frameworks unterstützen

EDIT 02.12.2011: Refleciton.Emit wird von Mango unterstützt. Hurra! Reflection.Emit-basierte Mocking-Frameworks sollten einfach funktionieren.

    
JustinAngel 18.01.2011, 19:04
quelle
4

Ich bin mir nicht bewusst, derzeit verfügbar.

Dieser Artikel von David Gadd zeigt ein Beispiel für Tests auf dem Telefon mit manuell erstellten gefälschten Objekten und kann eine nützliche Ressource sein.

    
Matt Lacey 18.01.2011 13:42
quelle
3

Ich habe gerade TypeMock Isolator , und es funktioniert mit Windows Phone 7 (sortof).

Sie müssen ein Standard-Visual Studio Test-Projekt erstellen, und Sie erhalten eine Fehlermeldung, dass Ihr Windows Phone 7-Projekt nicht referenziert werden kann, aber aus irgendeinem Grund funktionieren die Mocks und Tests einwandfrei.

Wie auch immer, ich bin wirklich glücklich mit den Mocks, die es erstellen kann.

    
Bob 28.03.2012 14:41
quelle
0

Jedes Spottframework, das Silverlight 3 unterstützt, sollte mit Windows Phone 7 funktionieren. Möglicherweise müssen Sie jedoch eine frühere Version des Frameworks verwenden, um Silverlight 3 "herunterzufahren".

    
Derek Lakin 18.01.2011 14:49
quelle
0

Ich wollte nur einige Informationen feststellen, die ich in MSDN gefunden habe:

Ссылка

  

Die Mock-Klassen wurden manuell entwickelt, da es nicht möglich ist, ein Mocking-Framework auf der Windows Phone-Plattform zu verwenden. Spionage-Frameworks erfordern die Ausgabe von Microsoft Intermediate Language (MSIL) -Code, was derzeit auf der Windows Phone-Plattform nicht möglich ist

    
Mike 12.04.2012 10:45
quelle

Tags und Links