Windows Phone 7 насмешливый фреймворк? - PullRequest
8 голосов
/ 18 января 2011

Существуют ли какие-либо насмешливые рамки для Windows Phone 7 или мне нужно создавать подделки вручную?

Я не нашел ни одного в Google, и хотя я нашел Moq в списке на странице ресурсов WP7, я не смог заставить его работать.

Ответы [ 5 ]

14 голосов
/ 18 января 2011

Не существует фреймворков Mocking, поддерживающих WP7, и я подозреваю, что их никогда не будет, пока WP7 не поддержит Reflection.Emit.

В платформе .net имеется много опций , которые существуют для создания фальшивой инфраструктуры (Profiler API, CodeDem, Refleciton.Emit и др.).Большинство из этих методов не будут работать на самом Silverlight, так как в нем отсутствует довольно много BCL / CLR.Все существующие фреймворки Silverlight используют Reflection.Emit.WP7 не поддерживает Reflection.Emit и, следовательно, никакая Silverlight-среда разработки не будет работать на WP7.

По этой причине я лично тестирую сборки WP7 во время выполнения Silverlight.Это далеко не оптимально (это отстой), но это лучшее, что можно сделать в данных обстоятельствах.

Теоретически можно построить среду Mocking, использующую ткачество после сборки MSIL, которая должна работать на WP7, но покабыть сделано.

Если вы хотите, чтобы WP7 поддерживал Reflection.Emit, рассмотрите возможность голосования по этой проблеме с пользовательскими голосами: WP7 должен поддерживать Reflection.Emit для структур Mocking

РЕДАКТИРОВАТЬ 2/ 12/2011: Refleciton.Emit поддерживается в Mango.Ура!Основанные на Reflection.Emit рамки Mocking должны просто работать.

4 голосов
/ 18 января 2011

Я не знаю ни одного доступного в настоящее время.

Эта статья Дэвида Гэдда показывает пример тестирования на телефоне с использованием созданных вручную поддельных объектов и может быть полезным ресурсом.

3 голосов
/ 28 марта 2012

Я только что получил TypeMock Isolator , и он работает с Windows Phone 7 (sortof).

Вам нужно создать проект Visual Studio Test по умолчанию, и вы получите сообщение об ошибке:что на ваш проект Windows Phone 7 нельзя ссылаться, но по какой-то причине тесты и тесты работают отлично.

В любом случае, я действительно доволен тем, что он способен создавать.

0 голосов
/ 12 апреля 2012

Просто хотел заметить некоторую информацию, которую я нашел в MSDN:

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

Имитируемые классы были разработаны вручную, так как невозможно использоватьнасмешливый фреймворк на платформе Windows Phone.Платформа Mocking требует возможности испускать код Microsoft на промежуточном языке (MSIL), что в настоящее время невозможно на платформе Windows Phone

0 голосов
/ 18 января 2011

Любой фальшивый фреймворк, поддерживающий Silverlight 3, должен работать с Windows Phone 7. Впрочем, вам может понадобиться использовать предыдущую версию фреймворка, чтобы «заглушить его» до Silverlight 3.

...