title: How can I see print() statements in behave (BDD)
body: <p>Context: I am using Python with Behave (BDD).</p>
  
  <p>Whether I run my tests from the command line (behave) or from a custom main(), the behavior is the same: the test runs and the only output that I see in the console is the standard BDD report.</p>
  
  <p>My tests include print() statements that help me debug my code.  However, none of these print statements are being displayed in the console output when I run behave.</p>
  
  <p>Is there any way we can <b>have "behave" display the print statements in our code?</b></p>
  
  <p>My Main()</p>
  
  <pre><code>config = Configuration()
  if not config.format:
      default_format = config.defaults["default_format"]
      config.format = [ default_format ]
      config.verbose = True
  r = runner.Runner(config)
  r.run()
  
  if config.show_snippets and r.undefined_steps:
      print_undefined_step_snippets(r.undefined_steps)
  </code></pre>
  
  <p>My test.feature file:</p>
  
  <pre><code>Feature: My test feature with the Behave BDD
      Scenario: A simple test
      Given you are happy
      When someone says hi
      Then you smile
  </code></pre>
  
  <p>My test_steps.py file:</p>
  
  <pre><code>from behave import given, when, then, step, model
  
  @given('you are happy')
  def step_impl(context):
      pass
  
  @when ('someone says {s}')
  def step_impl(context, s):
      context.message = s
      print("THIS IS NEVER DISPLAYED IN THE CONSOLE")
      pass
  
  @then ('you smile')
  def step_impl(context):
          assert(context.message == "hi")
  </code></pre>