2010-01-18 6 views
7

Si une gemme possède des dépendances de rails, pensez-vous qu'il est préférable d'écrire les gemmes de manière à pouvoir les exécuter de manière autonome ou les exécuter sous un projet de rails?Méthode appropriée pour tester les gemmes

Répondre

6

Une gemme doit être un morceau de code qui agit de façon autonome. Dans le cas contraire, cela fait partie de l'application, les tests doivent donc être créés de manière autonome. De cette façon, d'autres (hypothétiquement) peuvent également effectuer les tests. Si les tests dépendent de votre application, les autres ne peuvent pas tester votre gemme. En outre, lorsque vous souhaitez tester votre gemme, il ne doit pas échouer car votre application est défaillante. Après que votre gemme ait réussi le test, vous pouvez tester l'application en sachant que votre gemme fonctionne bien (en supposant que vous avez tout testé). Le fait que la gemme dépende de Rails ou non n'est pas un problème, puisque Rails a également été testé (et vous pouvez supposer qu'il fonctionne correctement). Donc ces dépendances n'influencent pas (/ devraient) votre gemme.

0

Je dirais que cela dépend du type de dépendances dont la gemme a besoin. Par exemple. si c'est seulement l'ActiveRecord, il est assez facile de l'inclure dans votre suite de tests. Dans les cas plus complexes, vous pouvez toujours vous moquer de certaines fonctionnalités nécessaires. Dans des cas vraiment complexes, créer une application de test est mieux que rien (IMO).

Questions connexes