Je suis un développeur Rails faisant TDD sur un Mac avec RSpec, Capybara et Selenium webdriver. Maintenant, mon entreprise m'a demandé d'utiliser cette approche pour un environnement .NET sur Windows. Quelle est la meilleure façon de procéder?
Je pourrais simplement installer Ruby et utiliser RSPEC, Capybara et Selenium webdriver pour les tests d'intégration. Mais qu'en est-il des tests unitaires? J'ai également regardé NSpec , mais je ne suis pas sûr de pouvoir combiner cela avec Capybara ou Selenium pour les tests d'intégration.
Quelle serait une bonne approche ici?
Réponses:
Il s'agit d'un problème en deux parties.
En termes de tests fonctionnels / d'intégration où vous conduisez le logiciel en externe, alors l'une ou l'autre approche est valide, la considération ici est la compétence de ceux qui créent et maintiennent les tests. Globalement, je vois une tendance à la familiarité avec le langage utilisé pour les outils (test / build / autre) comme étant la chose la plus importante si vous ne voulez pas vous retrouver avec un seul expert de domaine dont l'équipe dépend.
Cependant, pour les tests unitaires, cela doit être quelque chose qui fonctionne dans l'environnement de développement .NET - xUnit (ou nUnit, mais je préfère de beaucoup xUnit) est le choix "conventionnel", mais je ne vois aucune raison de ne pas utiliser NSpec.
Si vous voulez aller tout en .NET, Coypu s'est inspiré de Capybara
la source
J'abandonnerais Ruby et j'irais avec nUnit, SpecFlow et Selenium WebDriver pour les tests unitaires, d'intégration et d'interface utilisateur si le produit est écrit en .net. De plus, j'échangerais le mac contre une machine Windows.
Je sais qu'il est possible de mélanger les langues et les plates-formes, et j'ai écrit des tests Ruby pour les produits .net. Mais c'est juste un peu plus facile si vous utilisez la même pile pour tout.
Vous pouvez ajouter vos projets de test à la même solution et conduire le tout hors du même processus de construction. Les développeurs pourront exécuter les tests depuis Visual Studio en quelques clics. De plus, c'est une nouvelle compétence sur votre CV.
Mais surtout, il n'a pas à s'inquiéter d'avoir à installer les produits supplémentaires, à trouver les bits et bobs tiers qu'ils leur font jouer ensemble et à maintenir un processus CI complexe.
la source