web-dev-qa-db-fra.com

Comment puis-je sortir une variable dans un test rspec?

Existe-t-il un moyen rapide de sortir la valeur de la variable dans un test rspec? Quelque chose comme ça par exemple, dans un contrôleur pour sortir une variable, je fais:

raise variable.to_yaml

Y a-t-il quelque chose de similaire que je peux faire dans un test rspec pour voir le contenu d'une variable?

36
user657823

Si vous souhaitez que la sortie soit enregistrée dans le fichier journal (c.-à-d. Logs/test.log), vous pouvez utiliser l'enregistreur Rails.

Rails.logger.debug variable.inspect
Rails.logger.debug variable.to_yaml

Si vous voulez voir la sortie dans la console, vous pouvez utiliser la jolie imprimante 'pp'.

require 'pp'

it 'does something'
  thing = Factory(:something)
  pp thing
end

Ou vous pouvez utiliser de bons produits

puts thing.to_yaml
68
ipd

À ce moment (Rails 4), vous pouvez vous connecter:

p variable

5
Puce

Utilisez ceci:

$stderr.puts variable.to_yaml
1
knagode

Vous pouvez utiliser le levier de gemme pour ce faire

  1. ajoutez la gemme "pry" dans votre gemfile
  2. bundle install

Vous pouvez maintenant tester n'importe quelle variable en plaçant "binding.pry" juste après cette variable. Courir bundle exec rspec filepath et vous obtiendrez quelque chose comme Rails c, puis écrivez directement votre variable.

J'espère que ça a du sens

0
AYOUB_MZ