2009-06-30 4 views
3

Nous commençons à standardiser sur un cadre de test basé sur Ruby, ayant eu de très bons résultats sur les tests RSpec et Cucumber récemment. Comme il s'agit d'une grande entreprise, nous allons essayer d'assembler un ensemble «standard» de gemmes Ruby pour les tests, sachant que nous n'obtiendrons que 90% de bons résultats en raison du large éventail de technologies utilisées. .Des gemmes Ruby essentielles?

technologies clés que nous avons identifiés jusqu'à présent que nous devons être en mesure de soutenir:

  • couches de transport de messages: WebSphere MQ, Tibco (au sein de nos cas de test, nous devons être en mesure de lecture/écriture messages & files d'attente claires)
  • bases de données: SQL Server, Oracle, Sybase (nous devons être en mesure d'effectuer des opérations de CRUD sur chacun d'entre eux dans le cadre de nos cas de test)
  • interfaces utilisateur: Web, .NET, Java/Swing, Silverlight (idéalement, nous serions en mesure d'automatiser la conduite de chacune de ces interfaces via une interface appropriée)

Comme point de départ, nous avons décidé que nous voulons l'ensemble suivant des pierres précieuses installées (en plus de ceux qui viennent avec Ruby lui-même):

  • concombre (plus houe et autres dépendances)
  • rubywmq (pour les tests impliquant WebSphere MQ)
  • Webrat
  • watir (pour les cas où Webrat ne sera pas coupé)
  • rails (non pas tant pour rails lui-même, mais pour activerecord et les différents pilotes DB qui descendent comme des dépendances, ainsi que râteau)
  • rubis-oci8 (pour Oracle)

Pour les applications Silverlight, nous espérons être en mesure de les tester par IronRuby, mais c'est territoire très inconnu pour nous à ce stade.

Deux questions:

  • toute autre gemmes clés que nous avons manqué? Des choses que vous ne pouvez pas vivre sans? Qu'est-ce qui est bon/mauvais/laid?
  • des sources de référence pour piloter les interfaces utilisateur Java/Swing, Silverlight et .NET? Je connais le livre RSpec, mais y en a-t-il d'autres?

Merci à l'avance

+0

Bonne question man! –

Répondre

4

je voudrais ajouter

  • Mocha. Si vous utilisez Cucumber, Rspec ou ActiveSupport, il est probable qu'il sera automatiquement chargé s'il est installé.
  • Test :: Unité ou RSpec. Le premier n'est pas un GEM, c'est une bibliothèque Ruby standard. Personnellement, je suis un gars de Test :: Unit plutôt qu'un utilisateur de RSpec, mais vous pouvez essayer RSpec.
  • Shoulda Shoulda est constitué de macros de test, d'assertions et d'aides ajoutées à l'infrastructure Test :: Unit.
  • Remarkable Remarquable est un port de toutes les macros de Shoulda à RSpec.

Aussi, vous pouvez utiliser

  • RCov pour vérifier votre LOC

pas strictement liée à des tests, mais toujours de la qualité du code:

  • Flay analyses code ruby pour les similitudes structurelles.
  • Flog vous montre le code le plus tortueux que vous avez écrit.
  • Reek un code sent détecteur pour rubis
  • Roodi parse votre code Ruby et vous met en garde contre les problèmes de conception que vous avez sur la base des contrôles qui a configuré.
+0

Bonne réponse - J'ai déjà utilisé Mocha, mais la plupart des autres sont nouveaux pour moi. Merci de prendre le temps de créer cette liste. –

1

Nokogiri pour parsing XML est un autre

+0

AFAIK, webrat dépend de Nokogiri donc vous l'aurez installé quand vous installez webrat. –

1

ZenTest, il est très important pour les tests

également Mongrel ou passagers pour le déploiement d'applications

+0

Merci pour les suggestions, mais j'aurais dû décrire notre situation un peu plus clairement. Nous ne faisons pas de développement Ruby (à ce stade); nous utilisons simplement Ruby pour tester nos applications Java/.NET. –

1

Quelques pierres précieuses très agréable pour irb/rails console ...

  • Pry - vous donne la possibilité de ls, cd autour des objets disponibles. Afficher la source pour les méthodes, les modèles de rails d'affichage ... et une quantité significative d'autres fonctionnalités

  • irbtools - un ensemble d'outils rassemblés (y compris wirb, hirb, interactive_editor (vous ouvrirez emacs, vim etc.), coderay, ... liste sur la page github)

Questions connexes