2010-03-17 6 views
2

Je comprends l'avantage de mettre des classes, des modules, etc. dans le dossier lib dans Rails, mais je n'ai pas réussi à trouver un propre pour tester ces fichiers. Pour la plupart, il semble que les tests unitaires seraient l'approche logique.Comment tester les fichiers lib dans Rails?

Je suppose que ma question est: Quelle est la "voie de rails" pour tester les fichiers lib?

+0

votre code dans 'lib' peut faire toutes sortes de choses .. façons de tester les travailleurs de fond et, disons, quelques trucs de connexion à l'amazon peut être assez différent –

+0

@neutrino Disons simplement que c'est une classe générique avec quelques méthodes effectuer quelques manipulations de texte. Pas très différent d'un modèle à part entière, mais ça n'enregistre rien dans la base de données. – jerhinesmith

+0

Vous ne faites pas un test unitaire pour une raison quelconque? Les tests unitaires ne doivent pas seulement être pour les modèles ActiveRecord. – wesgarrison

Répondre

1

Votre répertoire lib n'est pas automatiquement chargé par des rails. Vous pouvez utiliser ActiveSupport::Dependencies pour remplacer const_missing. Essentiellement, les rails essaieront de charger vos constantes quand elles démarrent, si elles ne sont pas définies ou ne sont pas en mémoire, elles regarderont vos chemins de chargement.

Si vous avez un fichier comme my_class.rb, les rails s'attend à être MyClass.

La beauté de cela est si vous avez des choses dans votre répertoire lib, vous n'avez pas besoin avec un chemin relatif, vous pouvez simplement dire require 'something', au lieu de require 'lib/something'.

Questions connexes