Question

J'ai regardé plusieurs cadres Mocking pour ASP.NET et est tombé sur Microsoft Moles. Cela semble être une partie de l'équipe de recherche de Microsoft et je me demandais si quelqu'un ici a choisi taupes sur les autres cadres Mocking mûri, comme Moq.

Était-ce utile?

La solution

J'utilise en fait Moq et taupes dans le même projet de test. Les deux ont des forces et j'utiliser chacun le cas échéant. En général, j'utilise Moq pour le tri standard de test AAA avec la vérification, et les taupes est le « gros canon » pour les choses autrement unmockable, comme les appels de méthode d'extension, etc.

Je aime cet arrangement, parce que chaque test peut être aussi simple que possible et sensible, même si la configuration se moquant peut varier beaucoup d'un test à.

Autres conseils

Moles a été conçu pour fonctionner efficacement avec l'analyse de la boîte blanche de Pex. Tous les autres sont habituellement assujettis au cadre de simulation beaucoup de frais généraux.

Moles fournit une proposition de valeur simple: remplacer toute méthode .NET avec un délégué. De par leur conception, les taupes ne fournit aucune API pour exprimer la « vérification » que d'autres cadres font. Il est vraiment à vous de décider si cette décision convient à votre ou non.

Si vous devez traiter (héritage) code qui dépend des méthodes statiques codées en dur ou types scellés avec les constructeurs internes, les taupes peuvent vous aider à traiter ces cas.

Si vous avez des interfaces et du code bien à base de composants, Moles génère également des talons minces, à savoir l'interface mise en œuvre, que vous pouvez utiliser avec le profileur.

Les taupes est plus souvent comparé / opposition à Typemock en ce qu'elle offre un ensemble d'installations à l'extérieur de Moq et / ou sweet spot RhinoMocks.

La principale question que vous devez vous poser dans le choix est de savoir si vous voulez garder vos tests technologie relativement faible ou participer à un niveau plus élevé de supercherie technique. Ce sera en grande partie dictée par ce que vous faites -. Vous avez marqué ASP.NET MVC et non ce qui suggère qu'il peut en effet être pertinent pour vous

Jetez un oeil à cette vidéo Dimecasts.net pour une belle vue d'ensemble.

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