Как издеваться над сервисом RIA - PullRequest
3 голосов
/ 27 марта 2010

Есть ли возможность смоделировать методы, предоставляемые RIA Services?

Я бы хотел протестировать свое приложение Silverlight без связи с сервером ...

Я вижу следующий подход:

  • создать отдельный интерфейс;
  • добавить его в "базовые классы" для моего RiaService;
  • определить каждый автоматически сгенерированный RIA-метод в этом интерфейсе;
  • вставить зависимость, чтобы моя «функциональность» зависела не от RiaService, а от интерфейса, который реализован с RiaService.

Но в этом случае я вижу проблему: как сохранить мой интерфейс в автоматически сгенерированных файлах?

Любые мысли приветствуются.

1 Ответ

4 голосов
/ 27 марта 2010

Несколько относительно не связанных (друг с другом) мыслей ...

  1. Если автоматически генерируемые файлы являются частичными классами, вы можете просто добавить другой частичный класс, чтобы определить, что он реализует интерфейс.
  2. Вы можете использовать StructureMap для внедрения зависимостей в Moq объектов , чтобы делать то, что вы хотите.
  3. Используйте обобщение интересным способом, чтобы позволить вам использовать либо сгенерированный класс, либо смоделированный объект. (вероятно, не очень хорошее решение)
  4. Используйте отражение для работы с двумя различными типами объектов. (вероятно, не очень хороший вариант)
  5. Компиляция директив (#if DEBUG) для использования двух разных типов объектов. (определенно не хороший вариант)

Надеюсь, это поможет или вдохновит на некоторые хорошие / лучшие идеи!

...