Question

Peut-il être fait sans utiliser Typemock Islolator? Je l'ai trouvé quelques suggestions en ligne tels que le passage dans une chaîne de connexion les métadonnées, mais rien que je suis venu à travers d'ailleurs Typemock semble vraiment permettre une ObjectContext maquette qui peut être injecté dans les services pour les tests unitaires. Est-ce que je débarquez le $$ pour Typemock, ou y at-il des alternatives? A personne n'a réussi à créer quelque chose de comparable à Typemock qui est open source?

Était-ce utile?

La solution

Je suis EF4 de tests unitaires facilement sans se moquant. Ce que je faisais était de créer une interface dépôt en utilisant le code http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/ comme base J'ai ensuite créé une classe InMemoryRepository<T> qui a utilisé l'interface IRepository. Je me suis alors remplacé le IObjectSet<T> avec un intérieur de List<T> de la classe et a changé les méthodes de récupération en conséquence.

Ainsi, si vous avez besoin de faire des tests unitaires, passer dans le InMemoryRepository plutôt que le DataRepository.

Autres conseils

Mettez votre requête Linq2Entity derrière une interface, test unitaire dans l'isolement contre une véritable base de données.

Tests écriture pour votre logique d'affaires avec des simulacres pour vos interfaces de requête. Ne laissez pas Linq saigner dans votre logique métier!

Ne pas utiliser le RepositoryPattern!

Enroulez le ObjectContext dans une classe proxy. Injecter ensuite que dans vos classes.

Je ne pense pas que le modèle référentiel est la seule réponse à la question (il évite le problème, bien sûr)

J'ai aimé cette réponse - je pense plus approprié pour l'introduction des tests à un existant Création codebase Interface pour ObjectContext

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top