2010-03-27 7 views
3

Est-il possible de se moquer des méthodes fournies avec les services RIA?Comment se moquer d'un service RIA

Je voudrais tester mon application Silverlight sans communication sur le côté serveur ...

Je vois une approche suivante:

  • créer une interface distincte;
  • Ajoutez-le aux "classes de base" pour mon RiaService;
  • définir chaque méthode RIA autogénérée dans cette interface;
  • insère la dépendance de sorte que ma "fonctionnalité" ne dépende pas du RiaService, mais de l'interface qui est implémentée avec RiaService.

Mais pour ce cas, je vois un problème: comment conserver mon interface dans les fichiers générés automatiquement?

Toutes les pensées sont les bienvenues.

Répondre

4

Quelques relativement sans rapport (à l'autre) pensées ...

  1. Si les fichiers générés automatiquement sont des classes partielles, vous pouvez simplement ajouter une autre classe partielle pour définir qu'il implémente une interface.
  2. Vous pouvez utiliser StructureMap pour injecter des dépendances à Moq objects pour faire ce que vous voulez.
  3. Utilisez des génériques d'une manière intéressante pour vous permettre d'utiliser la classe générée ou l'objet mocké. (probablement pas une bonne solution)
  4. Utilisez la réflexion pour travailler avec les deux types d'objets différents. (probablement pas une bonne option)
  5. Compiler des directives (#if DEBUG) pour utiliser les deux types d'objets différents. (certainement pas une bonne option)

Espérons que cela aide ou inspire quelques bonnes/meilleures idées!

+0

Quelques liens supplémentaires qui pourraient aider: http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx http://forums.silverlight.net/forums/p/110292/249721 .aspx – Jaxidian