2010-09-14 15 views
3

Quelqu'un pourrait-il me donner un bon exemple de l'utilisation de rhinocéros, nunit, et l'unité ensemble. Je lis l'aide sur chacun d'eux mais il ne semble pas y avoir de bons exemples de projets sur la façon de les utiliser ensemble et la façon de mettre en place des projets/projets de test les utilisant. C'est à dire. créez-vous de nouveaux conteneurs ioc dans votre projet de test qui pointent vers des classes factices. Alors, d'où vient le rhinocéros?Unity Nunit & Rhino Mocks

Merci pour toute aide.

Répondre

5

J'utilise tous les trois de ces cadres ensemble. On dirait que votre problème est que vous essayez d'apprendre trop de choses à la fois. En ce qui concerne l'utilisation d'un conteneur IoC dans les tests, je n'ai jamais eu besoin de le faire pour les tests unitaires. J'utilise simplement des mock Rhino pour transmettre des stubs/mocks pour les composants dépendants si nécessaire. Pour un test d'intégration, je pouvais voir l'avantage d'avoir un conteneur IOC initialisé dans du code, par exemple si vous utilisiez le modèle MVP et que vous vouliez remplacer complètement un GUI avec des stubs.

Je voudrais d'abord en apprendre davantage sur les tests unitaires plus en détail. Je recommande fortement le livre The Art of Unit Testing. Un bon livre qui combine IOC, tests unitaires et un cadre d'isolement, j'ai trouvé Pro ASP.NET MVC - il y a maintenant un 2nd edition, mais comme je ne l'ai pas lu, je ne peux pas vraiment le commenter. Le livre n'utilise pas Unity, mais si vous apprenez comment fonctionne un framework, il est facile de passer à un autre. Quand je suis passé de Moq à Rhino, j'ai trouvé this wiki page particularly useful.

+0

Merci. J'ai vu ces livres ont eu de bonnes critiques sur amazon. Je vais leur donner un essai. –

1

Vous n'avez pas besoin d'utiliser IoC dans vos tests unitaires. Vous devriez tester les implémentations des interfaces et non les interfaces elles-mêmes.

Exemple: Person implémente IPerson. Vous devriez avoir une classe PersonTests qui teste Person. Vous utilisez Rhino Mocks pour créer un faux ou un talon d'IPerson et tester la fonctionnalité de la classe Person.

(Au moins, c'est comme ça que je le fais toujours).

Vous avez ensuite des tests séparés pour tester votre IoC (si vous en avez besoin).

+0

Merci pour la réponse rapide martin. –