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.
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.
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.
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".
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
Tags und Links windows-phone-7 tdd mocking