Je crée un rakeFile pour un projet et j'ai défini des testtases de râteau. J'ai couru un test de santé mentale simple qui fait un asser_equal (1, 2) code> juste pour vérifier la sortie et, en plus de la sortie d'échec habituelle, je reçois ce désordre:
rake aborted!
Command failed with status (1): [/usr/bin/ruby -w -I"lib:." "/usr/lib/ruby/...]
/usr/lib/ruby/1.9.1/rake.rb:993:in `block in sh'
/usr/lib/ruby/1.9.1/rake.rb:1008:in `call'
/usr/lib/ruby/1.9.1/rake.rb:1008:in `sh'
/usr/lib/ruby/1.9.1/rake.rb:1092:in `sh'
/usr/lib/ruby/1.9.1/rake.rb:1027:in `ruby'
/usr/lib/ruby/1.9.1/rake.rb:1092:in `ruby'
/usr/lib/ruby/1.9.1/rake/testtask.rb:115:in `block (2 levels) in define'
/usr/lib/ruby/1.9.1/rake.rb:1110:in `verbose'
/usr/lib/ruby/1.9.1/rake/testtask.rb:100:in `block in define'
/usr/lib/ruby/1.9.1/rake.rb:634:in `call'
/usr/lib/ruby/1.9.1/rake.rb:634:in `block in execute'
/usr/lib/ruby/1.9.1/rake.rb:629:in `each'
/usr/lib/ruby/1.9.1/rake.rb:629:in `execute'
/usr/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/lib/ruby/1.9.1/rake.rb:605:in `block in invoke_prerequisites'
/usr/lib/ruby/1.9.1/rake.rb:602:in `each'
/usr/lib/ruby/1.9.1/rake.rb:602:in `invoke_prerequisites'
/usr/lib/ruby/1.9.1/rake.rb:594:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/lib/ruby/1.9.1/rake.rb:581:in `invoke'
/usr/lib/ruby/1.9.1/rake.rb:2041:in `invoke_task'
/usr/lib/ruby/1.9.1/rake.rb:2019:in `block (2 levels) in top_level'
/usr/lib/ruby/1.9.1/rake.rb:2019:in `each'
/usr/lib/ruby/1.9.1/rake.rb:2019:in `block in top_level'
/usr/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/lib/ruby/1.9.1/rake.rb:2013:in `top_level'
/usr/lib/ruby/1.9.1/rake.rb:1992:in `run'
/usr/bin/rake:31:in `<main>'
5 Réponses :
regarder dans Vous devez être capable d'ajouter quelque chose comme p> config / initialiseurs / backtrace_silencers.rb code>
RAKE Normalement ne montre pas de backtrage à moins que vous spécifiez Par défaut, RAKE n'imprime pas la trace de la pile si vous obtenez une erreur dans le code des appels Rake. Vous pouvez obtenir la trace de la pile en fonctionnant avec le drapeau -Trace, mais je préférerais généralement le voir quand même. Vous pouvez le faire en mettant Rake.Application.Option.Trace = true dans le fichier de rakefile. P>
blockQuote>
Si non, vous pouvez essayer de définir le paramètre - trace code>. Peut-être que vous avez configuré RAKE pour toujours exécuter dans
- TRACE code> Mode? P>
rake.application.option.trace = false code> dans votre fichier de rakefile. P>
Afaik, je n'ai pas de traçage activé - non - trace code> drapeau et j'ai essayé de définir l'option comme vous l'avez mentionné - même résultat.
J'ai eu le même problème que vous et résolu-le en mettant à jour le râteau: Ceci est mis à jour de tout ce que j'avais à 0,8,7. P>
Je suis en cours d'exécution 1.9.2-P180 (OS X, installé avec homebrew) et exécutez des tests sur un projet nouvellement créé (fait avec houe). P> gem installation rake code> p>
Bizarre, j'ajoute toujours une trace imprimée sur 0.8.7 code>. Mis à jour sur
0.9.2 Code> Correction du problème de mon côté.
RAKE ne devrait pas retourner une backtrage dans cette situation - l'erreur est avec la commande externe, pas des internaux de Rake. J'ai envoyé un email à Jim Weirich concernant le correctif suivant: https://gist.github.com/1003628 a> p>
J'ai toujours eu des traces de pile indésirables dans Rake 0.8.7, la mise à jour à 0,9.2 a finalement aidé pour moi (Ruby 1.9.2P180 [I386-Mingw32] sur Win7 32 bits). P>
Je suis aussi mis à jour à partir de 0.8.7 code> au dernier (
0.9.2 code>) et le problème a été résolu.