Sha256: 2df66d875c114b819de9bc05d1dad2ff1a4ed6cc196f2a363a8610fd1dc06eec

Contents?: true

Size: 1.54 KB

Versions: 1

Compression:

Stored size: 1.54 KB

Contents

@issue
Feature: Issue #125: Duplicate "Captured stdout" if substep has failed


  Background: Test Setup
    Given a new working directory
    And   a file named "features/steps/steps.py" with:
      """
      from behave import step

      @step('a step fails with stdout "{message}"')
      def step_fails_with_stdout(context, message):
          print(message)
          assert False, 'EXPECT: Step fails with stdout.'

      @step('substep fails with stdout "{message}"')
      def substep_fails_with_stdout(context, message):
          context.execute_steps(u'When a step fails with stdout "%s"' % message)
      """

  Scenario: Subprocess call shows generated output
    Given a file named "features/issue125_example.feature" with:
      """
      Feature:
          Scenario:
              When substep fails with stdout "Hello"
      """
    When I run "behave -f plain --no-timings features/issue125_example.feature"
    Then it should fail with:
      """
      0 scenarios passed, 1 failed, 0 skipped
      0 steps passed, 1 failed, 0 skipped, 0 undefined
      """
    And the command output should contain:
      """
      Feature:
          Scenario:
              When substep fails with stdout "Hello" ... failed

      Assertion Failed: FAILED SUB-STEP: When a step fails with stdout "Hello"
      Substep info: Assertion Failed: EXPECT: Step fails with stdout.
      """
    And the command output should contain 1 times:
      """
      Captured stdout:
      Hello
      """
    But note that "the captured output should not be contained multiple times"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
busser-behave-0.1.3 vendor/behave/issue.features/issue0125.feature