Je suis nouveau sur Rails et je suis conscient qu'il a des choses telles que les tests unitaires intégrés. Mais je suis intéressé à faire quelques tests plus simples qui sont équivalents à votre "printf" en C. Donc, je teste une page de connexion que j'ai écrite et je veux tracer le code pour voir ce que chaque ligne comme mes méthodes find retournent. J'essaie de sortir avec "puts" mais je ne reçois rien dans la ligne de commande.Test "Printf" dans Rails
Répondre
J'utilise des instructions puts tout le temps ainsi que le débogueur ruby! C'est bien.
Dans les rails, vous pouvez faire quelques choses. Je mets "puts" dans mon code et quand j'exécute script/server à la ligne de commande, la sortie apparaît dans mon Terminal.app. J'utilise un Mac, mais je suis sûr qu'il existe un moyen similaire de suivre l'activité de votre application sur votre plate-forme de prédilection.
L'autre option consiste à utiliser l'instruction du consignateur. vous pouvez appeler
logger.debug("My #{variable}")
et de trouver ces instructions directement dans votre fichier journal/development.log. De plus, si vous utilisez un système * nix, vous pouvez utiliser la commande "tail" pour suivre la dernière instruction écrite dans votre journal, une à la fois.
tail -f log/development.log
De cette façon, vous pouvez écrire vos instructions et les voir au fur et à mesure. Il existe plusieurs niveaux de l'exploitation forestière:
logger.warn
logger.info
logger.debug
logger.fatal
chaque environnement (développement, test, production) détermineront ce « niveau » de l'exploitation forestière sera appelée, de sorte que vous pouvez écrire vous connecter déclarations bon gré mal gré avec logger.debug alors que dans le développement , mais ces instructions ne seront pas écrites lorsque vous déploierez en fonction des niveaux de journalisation par défaut.
Connaissez-vous ruby-debug?
- Installez la gemme
ruby-debug
. Démarrez votre serveur avec l'option -u.
script/serveur -u
- Mettez une déclaration
debugger
dans votre code où vous voulez arrêter. - Vous aurez un accès console à vos variables ainsi que la possibilité de parcourir votre code.
Vérifiez le ruby-debug documentation pour plus de détails.
quelque chose comme utilisateur ceci:
logger.info "method called with #{params.inspect}"
(vous pouvez mettre une variable à l'intérieur de la # {})
Une fois que vous amuser avec qui, consultez ./script/console et rubis -debug
Je l'ai fait avant - avec des passagers, vous n'avez pas script/sortie du serveur, donc j'écrit ceci:
# extras/sexy_logging.rb
module SexyLogging
def log(text)
return true if RAILS_ENV == 'production'
string = "\e[0;32mLog:\e[m #{text}"
(100 - string.length).times do
string << ' '
end
string << "(#{caller.first})"
logger.debug string
end
end
ActiveRecord::Base.send :include, SexyLogging
ActionController::Base.send :include, SexyLogging
Ensuite, vous pouvez écrire
log variable
ou
log 'Testing user'
tail -f log/development.log |grep Log:
et de voir uniquement ce que vous consignez, ligne par ligne et avec les couleurs.
- 1. Test d'implémentation de printf
- 2. Test d'une balayeuse avec RSpec dans Rails
- 3. Décoder les instructions printf en C (Printf Primer)
- 4. php: echo "", print(), printf()
- 5. Redirection de printf?
- 6. Test des gemmes ruby sous les rails
- 7. Test AutoTest et Rspec avec Rails
- 8. Comment exécutez-vous les pourritures dans un test d'intégration Rails?
- 9. Test fonctionnel d'un POST RESTful dans Ruby on Rails
- 10. Priorités de test sur le plugin delayed_job dans les rails
- 11. Test de GET dans un contrôleur de rails
- 12. Test de modèles liquides dans des rails en utilisant Rspec
- 13. test du processus de connexion de l'utilisateur dans les rails
- 14. Création et test d'un enregistrement par défaut dans Rails
- 15. Comment spécifier les paramètres POST dans un test Rails?
- 16. Culerity vs Javascript pour le test Javascript dans Rails
- 17. HTTP Test de base Auth dans Rails 2.2+
- 18. Test de l'effacement des valeurs de cookie dans Rails?
- 19. commutation Test :: unité avec rspec sous rails
- 20. Test des vues partielles des rails autonomes
- 21. Pourquoi mes objets fixture ne sont-ils pas disponibles dans mon test Rails Test :: Unit?
- 22. La chaîne « Test « <3 » » affiche comme « Test" <3> » dans mes Rails app
- 23. Qualifiers pour printf sur WinCE
- 24. printf semble ignorer la précision de la chaîne
- 25. test rails contrôleur qui répondent à différents formats
- 26. Comment émuler les paramètres printf de Python dans Ruby?
- 27. Quelle est la différence entre% c et% C dans printf?
- 28. Test du blog Ruby on Rails (édition netbeans)
- 29. trouver manque l'option -printf, maintenant quoi?
- 30. Comment imprimer le caractère '%' avec 'printf'?
Merci. Donc les instructions puts fonctionnent vraiment, j'écrivais juste du code pauvre qui signifiait qu'il était ignoré! – alamodey