2009-10-18 9 views
4

Je me demande si cela a sa place sur StackOverflow, mais comme il est lié à la programmation, je vais l'enlever.Autospec/rspec ne fonctionne pas, fait quelque chose de mal?

Voici mon problème. Je suis nouveau à TDD et j'aime Ruby, donc le chemin évident que je prends est de tester des choses avec rspec. Pourquoi évident? Je l'ai vu dans divers screencasts et je pensais que c'était vraiment propre. Puis j'ai vu "autospec" quelque part, et j'ai essayé de l'utiliser.

donc installer le bijou, en utilisant sudo gem install ZenTest (selon les instructions here)

Ensuite, je vais dans mon dossier, contenant "digit.rb" et "digit_spec.rb", et lancez autospec sans aucun paramètre. Rien ne se passe. Digne de noter que j'ai deux tests dans mon fichier spec et que je peux le tester correctement en utilisant la commande spec, mais je serais ravi d'utiliser autotest ...

Un lien aide/pointeurs/documentation est-il disponible? S'il vous plaît? : P

Répondre

5

Vous devez créer un fichier .autotest contenant ce code:

Autotest.add_hook :reset do |at| 
    at.clear_mappings 
    at.add_mapping(/^(.*?)(_spec)?\.rb$/) { |filename, m| 
    if m[2] 
     filename 
    else 
     "#{m[1]}_spec.rb" 
    end 
    } 
end 

permettent de modifier le mappage par défaut du fichier aux spécifications

+4

Juste ajouter à la réponse: Le comportement par défaut d'autospec est de rechercher n'importe quel fichier dans ./lib, et recherchez le fichier de test correspondant dans ./spec. Donc, pour "essayer", comme je viens de le faire, vous devez mettre votre fichier de code dans un sous-répertoire lib, et votre fichier de test dans un sous-répertoire spec. –

0

Peut-être que vous pouvez essayer spork + autospec. Les instructions de Spork sur le wiki rspec est probablement la façon la plus courante d'aller: http://wiki.github.com/dchelimsky/rspec/spork-autospec-pure-bdd-joy

+0

Je regardais simplement la possibilité de tester le code non-rails, en fait. J'apprends juste Ruby et TDD en même temps, que j'aime beaucoup. –

+0

Pourquoi cela est-il modifié? –

Questions connexes