How do I output a variable in a rspec test?

后端 未结 4 1180
说谎
说谎 2021-01-31 08:36

Is there a quick way to output the value of variable in a rspec test? Something like this for example, in a controller to output a variable, I do:

raise variable         


        
相关标签:
4条回答
  • 2021-01-31 08:48

    You can use the gem pry to do this

    1. add gem "pry" in your gemfile
    2. bundle install

    Now you can any test any variable by putting "binding.pry" just after that variable. Run bundle exec rspec filepath and you will get something like rails c, then write directly your variable.

    I hope it makes sense

    0 讨论(0)
  • 2021-01-31 08:59

    If you want the output to go into the log file (i.e. logs/test.log), you can use the rails logger.

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

    If you want to see the output in the console, you can use the pretty printer 'pp'.

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

    Or you can use good 'ol puts

    puts thing.to_yaml
    
    0 讨论(0)
  • 2021-01-31 09:01

    At this moment (Rails 4) you can log it:

    p variable

    0 讨论(0)
  • 2021-01-31 09:01

    Use this:

    $stderr.puts variable.to_yaml
    
    0 讨论(0)
提交回复
热议问题