Question

Je dois choisir cadre de simulation de projet.

Quels sont les avantages et les inconvénients pour les cadres? Une table de comparaison?

Je sais que JustMock est i stade bêta, mais il est look très bon moment (très similaire à Typemock)

Edit: I'v Qu'en est-MS Mole?

Était-ce utile?

La solution

Avant qu'il y ait JustMock cette question a été posée et les réponses se trouve ici . Il y a un très bon Mocking comparaison cadre - ne pas JustMock encore, mais vous pouvez voir la syntaxe et les capacités de chaque cadre se moquant .NET.

RhinoMocks (et Moq ) sont à la fois open source libre d'utiliser des projets qui peuvent créer des objets faux en héritant du type - ce qui signifie qu'ils ne peuvent pas les méthodes de statiques faux, structs et les classes scellées.

Typemock Isolator utilise le profileur CLR pour intercepter les appels .NET et les changer au cours de l'exécution et peuvent simuler quoi que ce soit virtuellement. Typemock peut aussi des objets faux que vous ne pouvez pas « portée » du test car ils sont instanciés dans le code de production. Certains l'appellent « la magie noire », mais d'autres trouvent la capacité de simuler pratiquement tout - y compris les bibliothèques 3ème partie et le code existant -. Un must

JustMock est un nouveau joueur et maintenant seulement en version bêta - il a certains Typemock isolator et peut fonctionner sans l'API profileur - dans ce mode, il est comme RhinoMocks. Il est encore à découvrir combien de capacités Typemock Isolator-t-il vraiment. En ce moment, il semble que son un bon départ dans la bonne direction, mais il reste encore un peu de chemin à parcourir avant que cela pourrait être une option valable.

Autres conseils

Je viens passe de RhinoMocks Moq .

Les deux ont des capacités similaires mais Moq a beaucoup API propre

[Avertissement - travail I au Telerik]

Juste quelques points sur JustMock. Son API est plus similaire à l'API Moq que RhinoMocks', donc si vous êtes familier avec Moq vous ne devriez pas avoir des problèmes d'apprentissage JustMock. Ce que nous avons essayé de faire mieux en JustMock est d'avoir une meilleure histoire lorsque se moquant des appels séquentiels par exemple. De plus comme quelqu'un l'a déjà mentionné JustMock permet de se moquer des classes statiques et méthodes / propriétés, classes scellées, des méthodes non virtuelles et des propriétés et ainsi de suite en utilisant la même Moq comme la syntaxe. De plus, grâce à cela dans JustMock il est possible de faire un mock partiel.

BTW, la « magie noire » qui Dror mentionné est également possible lors de l'utilisation JustMock si vous faites référence directement l'ensemble Telerik.CodeWeaver.Hook mais malheureusement ce n'est pas documenté pour le moment. Si quelqu'un veut le faire, il pourrait ouvrir un ticket de support et nous serons heureux de vous aider.

Hope this helps.

Existe aussi Microsoft Moles, un cadre d'isolement pour .NET qui permet pour remplacer toute méthode .NET avec un délégué personnalisé.

Moles a une version qui peut être utilisé pour des projets commerciaux et est pris en charge dans Visual Studio 2008 et 2010.

Voir aussi: https://stackoverflow.com/questions/ 37359 / what-c-moqueur-cadre à utiliser / 2608634 # 2608634

Je suis actuellement à l'essai dans l'unité Moq, et je dois dire que cela fonctionne assez bien! - rephrase: Il fonctionne très bien! Je ne l'ai pas utilisé l'un des autres cadres moqueurs que vous mentionnez donc je ne peux pas vous donner une comparaison. Mais je peux dire que je suis heureux que je l'ai choisi Moq comme mon premier à essayer cadre moqueur. Les expressions lamda sont vraiment sympa et il est aussi très léger et facile à lire (enregistrement / relecture syntaxe dans la plupart des autres cadres moqueurs ne font pas vraiment votre lisibilité tout bon)

En outre (et cela est un peu hors-sujet) Je vais utiliser Ninject dans un proche avenir, IoC conteneurs, et les deux cadres vont main dans la main. Ninject a également Lamda de et fournit même un support de conteneur auto-moqueur pour MOQ (en utilisant une extension). Donc, si vous prévoyez également d'utiliser un conteneur IoC vous pouvez vérifier cette combinaison impressionnante:]

Je ne vais pas vous dire qui est le meilleur becasue chacun a ses avantages et ses inconvénients. J'ai toujours utilisé Rhino Mocks parce qu'il est gratuit et il y a une grande communauté autour et facile à trouver de l'aide.

Typemock n'est pas libre (je suppose). Cependant Typemock est grand si vous voulez par exemple pour tester le code existant avec des types particuliers ou statiques un membres. D'autres cadres moqueurs ne peuvent pas le faire. Un inconvénient est qu'il ne vous oblige pas à écrire du code testable qui a d'autres avantages que juste la testabilité.

Je ne sais pas JustMock ne peut donc pas vous dire comment cela fonctionne.

Je vous conseille de les essayer et de choisir un celui avec lequel vous sentez à l'aise. Toutefois, si vous avez besoin de code hérité de test, a choisi de Typemock.

J'espère que d'autres vous donneront plus de détails.

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