cucumber 3.0.0.pre.1 → 4.0.0.rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/{History.md → CHANGELOG.md} +339 -37
- data/CONTRIBUTING.md +11 -21
- data/README.md +20 -12
- data/bin/cucumber +2 -1
- data/lib/autotest/cucumber.rb +1 -0
- data/lib/autotest/cucumber_mixin.rb +44 -48
- data/lib/autotest/cucumber_rails.rb +1 -0
- data/lib/autotest/cucumber_rails_rspec.rb +1 -0
- data/lib/autotest/cucumber_rails_rspec2.rb +1 -0
- data/lib/autotest/cucumber_rspec.rb +1 -0
- data/lib/autotest/cucumber_rspec2.rb +1 -0
- data/lib/autotest/discover.rb +3 -2
- data/lib/cucumber.rb +2 -1
- data/lib/cucumber/cli/configuration.rb +15 -20
- data/lib/cucumber/cli/main.rb +15 -15
- data/lib/cucumber/cli/options.rb +249 -197
- data/lib/cucumber/cli/profile_loader.rb +63 -38
- data/lib/cucumber/cli/rerun_file.rb +1 -0
- data/lib/cucumber/configuration.rb +49 -44
- data/lib/cucumber/constantize.rb +8 -10
- data/lib/cucumber/core_ext/string.rb +2 -1
- data/lib/cucumber/deprecate.rb +34 -10
- data/lib/cucumber/encoding.rb +2 -1
- data/lib/cucumber/errors.rb +10 -8
- data/lib/cucumber/events.rb +18 -3
- data/lib/cucumber/events/envelope.rb +9 -0
- data/lib/cucumber/events/gherkin_source_parsed.rb +11 -0
- data/lib/cucumber/events/gherkin_source_read.rb +14 -0
- data/lib/cucumber/events/hook_test_step_created.rb +13 -0
- data/lib/cucumber/events/{step_match.rb → step_activated.rb} +8 -8
- data/lib/cucumber/events/step_definition_registered.rb +5 -9
- data/lib/cucumber/events/test_case_created.rb +13 -0
- data/lib/cucumber/events/test_case_finished.rb +14 -0
- data/lib/cucumber/events/test_case_ready.rb +12 -0
- data/lib/cucumber/events/test_case_started.rb +11 -0
- data/lib/cucumber/events/test_run_finished.rb +2 -3
- data/lib/cucumber/events/test_run_started.rb +14 -0
- data/lib/cucumber/events/test_step_created.rb +13 -0
- data/lib/cucumber/events/test_step_finished.rb +14 -0
- data/lib/cucumber/events/test_step_started.rb +11 -0
- data/lib/cucumber/file_specs.rb +7 -6
- data/lib/cucumber/filters.rb +3 -0
- data/lib/cucumber/filters/activate_steps.rb +12 -6
- data/lib/cucumber/filters/apply_after_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_after_step_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_around_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_before_hooks.rb +1 -0
- data/lib/cucumber/filters/broadcast_test_case_ready_event.rb +12 -0
- data/lib/cucumber/filters/broadcast_test_run_started_event.rb +28 -0
- data/lib/cucumber/filters/gated_receiver.rb +1 -2
- data/lib/cucumber/filters/prepare_world.rb +6 -13
- data/lib/cucumber/filters/quit.rb +3 -7
- data/lib/cucumber/filters/randomizer.rb +6 -7
- data/lib/cucumber/filters/retry.rb +3 -3
- data/lib/cucumber/filters/tag_limits.rb +5 -5
- data/lib/cucumber/filters/tag_limits/test_case_index.rb +1 -2
- data/lib/cucumber/filters/tag_limits/verifier.rb +4 -7
- data/lib/cucumber/formatter/ansicolor.rb +38 -45
- data/lib/cucumber/formatter/ast_lookup.rb +165 -0
- data/lib/cucumber/formatter/backtrace_filter.rb +24 -12
- data/lib/cucumber/formatter/console.rb +48 -88
- data/lib/cucumber/formatter/console_counts.rb +11 -29
- data/lib/cucumber/formatter/console_issues.rb +34 -10
- data/lib/cucumber/formatter/duration.rb +2 -1
- data/lib/cucumber/formatter/duration_extractor.rb +4 -2
- data/lib/cucumber/formatter/errors.rb +6 -0
- data/lib/cucumber/formatter/fail_fast.rb +8 -5
- data/lib/cucumber/formatter/fanout.rb +3 -3
- data/lib/cucumber/formatter/ignore_missing_messages.rb +2 -4
- data/lib/cucumber/formatter/interceptor.rb +12 -14
- data/lib/cucumber/formatter/io.rb +5 -4
- data/lib/cucumber/formatter/json.rb +109 -115
- data/lib/cucumber/formatter/junit.rb +85 -80
- data/lib/cucumber/formatter/message.rb +246 -0
- data/lib/cucumber/formatter/pretty.rb +353 -153
- data/lib/cucumber/formatter/progress.rb +34 -38
- data/lib/cucumber/formatter/query/hook_by_test_step.rb +31 -0
- data/lib/cucumber/formatter/query/pickle_by_test.rb +26 -0
- data/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +26 -0
- data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +40 -0
- data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +40 -0
- data/lib/cucumber/formatter/rerun.rb +24 -5
- data/lib/cucumber/formatter/stepdefs.rb +2 -2
- data/lib/cucumber/formatter/steps.rb +5 -6
- data/lib/cucumber/formatter/summary.rb +18 -11
- data/lib/cucumber/formatter/unicode.rb +16 -18
- data/lib/cucumber/formatter/usage.rb +37 -33
- data/lib/cucumber/gherkin/data_table_parser.rb +18 -6
- data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +83 -86
- data/lib/cucumber/gherkin/formatter/escaping.rb +13 -12
- data/lib/cucumber/gherkin/i18n.rb +1 -0
- data/lib/cucumber/gherkin/steps_parser.rb +18 -8
- data/lib/cucumber/{rb_support/rb_dsl.rb → glue/dsl.rb} +37 -23
- data/lib/cucumber/glue/hook.rb +67 -0
- data/lib/cucumber/glue/invoke_in_world.rb +65 -0
- data/lib/cucumber/glue/proto_world.rb +231 -0
- data/lib/cucumber/glue/registry_and_more.rb +221 -0
- data/lib/cucumber/glue/snippet.rb +205 -0
- data/lib/cucumber/glue/step_definition.rb +166 -0
- data/lib/cucumber/glue/world_factory.rb +21 -0
- data/lib/cucumber/hooks.rb +30 -20
- data/lib/cucumber/load_path.rb +1 -0
- data/lib/cucumber/multiline_argument.rb +9 -19
- data/lib/cucumber/multiline_argument/data_table.rb +143 -250
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +154 -0
- data/lib/cucumber/multiline_argument/doc_string.rb +2 -1
- data/lib/cucumber/platform.rb +5 -6
- data/lib/cucumber/project_initializer.rb +2 -2
- data/lib/cucumber/rake/task.rb +34 -27
- data/lib/cucumber/rspec/disable_option_parser.rb +10 -8
- data/lib/cucumber/rspec/doubles.rb +2 -1
- data/lib/cucumber/running_test_case.rb +4 -54
- data/lib/cucumber/runtime.rb +54 -72
- data/lib/cucumber/runtime/after_hooks.rb +10 -5
- data/lib/cucumber/runtime/before_hooks.rb +9 -4
- data/lib/cucumber/runtime/for_programming_languages.rb +12 -44
- data/lib/cucumber/runtime/step_hooks.rb +5 -2
- data/lib/cucumber/runtime/support_code.rb +30 -32
- data/lib/cucumber/runtime/user_interface.rb +16 -34
- data/lib/cucumber/step_definition_light.rb +7 -4
- data/lib/cucumber/step_definitions.rb +3 -2
- data/lib/cucumber/step_match.rb +42 -26
- data/lib/cucumber/step_match_search.rb +11 -12
- data/lib/cucumber/term/ansicolor.rb +39 -39
- data/lib/cucumber/unit.rb +1 -0
- data/lib/cucumber/version +1 -1
- data/lib/simplecov_setup.rb +2 -1
- metadata +238 -623
- data/.coveralls.yml +0 -1
- data/.github/ISSUE_TEMPLATE.md +0 -48
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -39
- data/.rspec +0 -1
- data/.ruby-gemset +0 -1
- data/.travis.yml +0 -35
- data/.yardopts +0 -1
- data/Gemfile +0 -22
- data/Rakefile +0 -22
- data/cucumber.gemspec +0 -47
- data/cucumber.yml +0 -20
- data/examples/i18n/README.textile +0 -3
- data/examples/i18n/Rakefile +0 -33
- data/examples/i18n/ar/Rakefile +0 -6
- data/examples/i18n/ar/features/addition.feature +0 -17
- data/examples/i18n/ar/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/ar/lib/calculator.rb +0 -11
- data/examples/i18n/bg/Rakefile +0 -6
- data/examples/i18n/bg/features/addition.feature +0 -12
- data/examples/i18n/bg/features/consecutive_calculations.feature +0 -19
- data/examples/i18n/bg/features/division.feature +0 -17
- data/examples/i18n/bg/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/bg/features/support/env.rb +0 -5
- data/examples/i18n/bg/features/support/world.rb +0 -8
- data/examples/i18n/bg/lib/calculator.rb +0 -24
- data/examples/i18n/ca/Rakefile +0 -6
- data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -21
- data/examples/i18n/ca/features/suma.feature +0 -17
- data/examples/i18n/ca/lib/calculadora.rb +0 -16
- data/examples/i18n/cs/Rakefile +0 -6
- data/examples/i18n/cs/features/addition.feature +0 -17
- data/examples/i18n/cs/features/division.feature +0 -11
- data/examples/i18n/cs/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/cs/lib/calculator.rb +0 -14
- data/examples/i18n/da/Rakefile +0 -6
- data/examples/i18n/da/features/sammenlaegning.feature +0 -18
- data/examples/i18n/da/features/step_definitions/lommeregner_steps.rb +0 -24
- data/examples/i18n/da/lib/lommeregner.rb +0 -11
- data/examples/i18n/de/Rakefile +0 -6
- data/examples/i18n/de/features/addition.feature +0 -17
- data/examples/i18n/de/features/division.feature +0 -10
- data/examples/i18n/de/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/de/lib/calculator.rb +0 -14
- data/examples/i18n/el/Rakefile +0 -6
- data/examples/i18n/el/features/addition.feature +0 -17
- data/examples/i18n/el/features/division.feature +0 -10
- data/examples/i18n/el/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/el/lib/calculator.rb +0 -14
- data/examples/i18n/en-lol/Rakefile +0 -4
- data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +0 -16
- data/examples/i18n/en-lol/features/stuffing.feature +0 -8
- data/examples/i18n/en-lol/features/support/env.rb +0 -7
- data/examples/i18n/en-lol/lib/basket.rb +0 -12
- data/examples/i18n/en-lol/lib/belly.rb +0 -11
- data/examples/i18n/en/Rakefile +0 -6
- data/examples/i18n/en/features/addition.feature +0 -17
- data/examples/i18n/en/features/division.feature +0 -10
- data/examples/i18n/en/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/en/lib/calculator.rb +0 -14
- data/examples/i18n/eo/Rakefile +0 -6
- data/examples/i18n/eo/features/adicio.feature +0 -17
- data/examples/i18n/eo/features/divido.feature +0 -10
- data/examples/i18n/eo/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/eo/lib/calculator.rb +0 -14
- data/examples/i18n/es/Rakefile +0 -6
- data/examples/i18n/es/features/adicion.feature +0 -17
- data/examples/i18n/es/features/step_definitions/calculador_steps.rb +0 -21
- data/examples/i18n/es/lib/calculador.rb +0 -14
- data/examples/i18n/et/Rakefile +0 -6
- data/examples/i18n/et/features/jagamine.feature +0 -10
- data/examples/i18n/et/features/liitmine.feature +0 -17
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -24
- data/examples/i18n/et/lib/kalkulaator.rb +0 -14
- data/examples/i18n/fi/Rakefile +0 -6
- data/examples/i18n/fi/features/jakolasku.feature +0 -10
- data/examples/i18n/fi/features/step_definitions/laskin_steps.rb +0 -24
- data/examples/i18n/fi/features/yhteenlasku.feature +0 -17
- data/examples/i18n/fi/lib/laskin.rb +0 -14
- data/examples/i18n/fr/Rakefile +0 -8
- data/examples/i18n/fr/features/addition.feature +0 -18
- data/examples/i18n/fr/features/addition2.feature +0 -17
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -32
- data/examples/i18n/fr/features/support/env.rb +0 -5
- data/examples/i18n/fr/lib/calculatrice.rb +0 -10
- data/examples/i18n/he/Rakefile +0 -6
- data/examples/i18n/he/features/addition.feature +0 -17
- data/examples/i18n/he/features/division.feature +0 -10
- data/examples/i18n/he/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/he/lib/calculator.rb +0 -15
- data/examples/i18n/hi/Rakefile +0 -6
- data/examples/i18n/hi/features/addition.feature +0 -16
- data/examples/i18n/hi/features/division.feature +0 -10
- data/examples/i18n/hi/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/hi/lib/calculator.rb +0 -15
- data/examples/i18n/ht/Rakefile +0 -6
- data/examples/i18n/ht/features/adisyon.feature +0 -17
- data/examples/i18n/ht/features/divizyon.feature +0 -10
- data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +0 -25
- data/examples/i18n/ht/lib/kalkilatris.rb +0 -14
- data/examples/i18n/hu/Rakefile +0 -6
- data/examples/i18n/hu/features/osszeadas.feature +0 -17
- data/examples/i18n/hu/features/osztas.feature +0 -10
- data/examples/i18n/hu/features/step_definitions/calculator_steps.rb +0 -25
- data/examples/i18n/hu/lib/calculator.rb +0 -14
- data/examples/i18n/id/Rakefile +0 -6
- data/examples/i18n/id/features/addition.feature +0 -17
- data/examples/i18n/id/features/division.feature +0 -10
- data/examples/i18n/id/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/id/lib/calculator.rb +0 -14
- data/examples/i18n/it/Rakefile +0 -6
- data/examples/i18n/it/features/somma.feature +0 -11
- data/examples/i18n/it/features/step_definitions/calcolatrice_steps.rb +0 -24
- data/examples/i18n/it/lib/calcolatrice.rb +0 -11
- data/examples/i18n/ja/Rakefile +0 -6
- data/examples/i18n/ja/features/addition.feature +0 -17
- data/examples/i18n/ja/features/division.feature +0 -10
- data/examples/i18n/ja/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/ja/features/support/env.rb +0 -5
- data/examples/i18n/ja/lib/calculator.rb +0 -14
- data/examples/i18n/ko/Rakefile +0 -6
- data/examples/i18n/ko/features/addition.feature +0 -17
- data/examples/i18n/ko/features/division.feature +0 -11
- data/examples/i18n/ko/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/ko/lib/calculator.rb +0 -14
- data/examples/i18n/lt/Rakefile +0 -6
- data/examples/i18n/lt/features/addition.feature +0 -17
- data/examples/i18n/lt/features/division.feature +0 -10
- data/examples/i18n/lt/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/lt/lib/calculator.rb +0 -14
- data/examples/i18n/lv/Rakefile +0 -6
- data/examples/i18n/lv/features/addition.feature +0 -17
- data/examples/i18n/lv/features/division.feature +0 -10
- data/examples/i18n/lv/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/lv/lib/calculator.rb +0 -14
- data/examples/i18n/no/Rakefile +0 -6
- data/examples/i18n/no/features/step_definitions/kalkulator_steps.rb +0 -17
- data/examples/i18n/no/features/summering.feature +0 -19
- data/examples/i18n/no/features/support/env.rb +0 -6
- data/examples/i18n/no/lib/kalkulator.rb +0 -11
- data/examples/i18n/pl/Rakefile +0 -6
- data/examples/i18n/pl/features/addition.feature +0 -17
- data/examples/i18n/pl/features/division.feature +0 -10
- data/examples/i18n/pl/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/pl/features/support/env.rb +0 -5
- data/examples/i18n/pl/lib/calculator.rb +0 -14
- data/examples/i18n/pt/Rakefile +0 -6
- data/examples/i18n/pt/features/adicao.feature +0 -11
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -20
- data/examples/i18n/pt/features/support/env.rb +0 -5
- data/examples/i18n/pt/lib/calculadora.rb +0 -10
- data/examples/i18n/ro/Rakefile +0 -6
- data/examples/i18n/ro/features/adunare.feature +0 -12
- data/examples/i18n/ro/features/step_definitions/calculator_steps.rb +0 -21
- data/examples/i18n/ro/lib/calculator.rb +0 -11
- data/examples/i18n/ru/Rakefile +0 -6
- data/examples/i18n/ru/features/addition.feature +0 -11
- data/examples/i18n/ru/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/ru/features/division.feature +0 -16
- data/examples/i18n/ru/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/ru/features/support/env.rb +0 -5
- data/examples/i18n/ru/features/support/world.rb +0 -8
- data/examples/i18n/ru/lib/calculator.rb +0 -24
- data/examples/i18n/sk/Rakefile +0 -6
- data/examples/i18n/sk/features/addition.feature +0 -17
- data/examples/i18n/sk/features/division.feature +0 -10
- data/examples/i18n/sk/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/sk/lib/calculator.rb +0 -14
- data/examples/i18n/sr-Cyrl/Rakefile +0 -6
- data/examples/i18n/sr-Cyrl/features/sabiranje.feature +0 -18
- data/examples/i18n/sr-Cyrl/features/step_definitions/calculator_steps.rb +0 -20
- data/examples/i18n/sr-Cyrl/features/support/env.rb +0 -5
- data/examples/i18n/sr-Cyrl/lib/calculator.rb +0 -12
- data/examples/i18n/sr-Latn/Rakefile +0 -6
- data/examples/i18n/sr-Latn/features/sabiranje.feature +0 -18
- data/examples/i18n/sr-Latn/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/sr-Latn/lib/calculator.rb +0 -12
- data/examples/i18n/sv/Rakefile +0 -6
- data/examples/i18n/sv/features/step_definitions/kalkulator_steps.rb +0 -24
- data/examples/i18n/sv/features/summering.feature +0 -18
- data/examples/i18n/sv/lib/kalkulator.rb +0 -11
- data/examples/i18n/tr/Rakefile +0 -6
- data/examples/i18n/tr/features/bolme.feature +0 -10
- data/examples/i18n/tr/features/step_definitions/hesap_makinesi_adimlari.rb +0 -24
- data/examples/i18n/tr/features/toplama.feature +0 -18
- data/examples/i18n/tr/lib/hesap_makinesi.rb +0 -15
- data/examples/i18n/uk/Rakefile +0 -6
- data/examples/i18n/uk/features/addition.feature +0 -11
- data/examples/i18n/uk/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/uk/features/division.feature +0 -16
- data/examples/i18n/uk/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/uk/features/support/env.rb +0 -5
- data/examples/i18n/uk/features/support/world.rb +0 -8
- data/examples/i18n/uk/lib/calculator.rb +0 -24
- data/examples/i18n/uz/Rakefile +0 -6
- data/examples/i18n/uz/features/addition.feature +0 -10
- data/examples/i18n/uz/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/uz/features/division.feature +0 -17
- data/examples/i18n/uz/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/uz/features/support/env.rb +0 -5
- data/examples/i18n/uz/features/support/world.rb +0 -8
- data/examples/i18n/uz/lib/calculator.rb +0 -24
- data/examples/i18n/zh-CN/Rakefile +0 -4
- data/examples/i18n/zh-CN/features/addition.feature +0 -18
- data/examples/i18n/zh-CN/features/step_definitions/calculator_steps.rb +0 -26
- data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
- data/examples/i18n/zh-TW/Rakefile +0 -4
- data/examples/i18n/zh-TW/features/addition.feature +0 -17
- data/examples/i18n/zh-TW/features/division.feature +0 -11
- data/examples/i18n/zh-TW/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/zh-TW/lib/calculator.rb +0 -14
- data/examples/rspec_doubles/Rakefile +0 -4
- data/examples/rspec_doubles/features/mocking.feature +0 -9
- data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +0 -19
- data/examples/rspec_doubles/features/support/env.rb +0 -12
- data/examples/sinatra/README.textile +0 -13
- data/examples/sinatra/Rakefile +0 -6
- data/examples/sinatra/app.rb +0 -14
- data/examples/sinatra/features/add.feature +0 -11
- data/examples/sinatra/features/step_definitions/add_steps.rb +0 -15
- data/examples/sinatra/features/support/env.rb +0 -10
- data/examples/sinatra/views/add.erb +0 -7
- data/examples/sinatra/views/layout.erb +0 -8
- data/examples/tcl/README.textile +0 -11
- data/examples/tcl/Rakefile +0 -6
- data/examples/tcl/features/fibonnacci.feature +0 -17
- data/examples/tcl/features/step_definitions/fib_steps.rb +0 -7
- data/examples/tcl/features/support/env.rb +0 -6
- data/examples/tcl/src/fib.tcl +0 -3
- data/examples/test_unit/Gemfile +0 -4
- data/examples/test_unit/Rakefile +0 -6
- data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -20
- data/examples/test_unit/features/test_unit.feature +0 -9
- data/examples/watir/README.textile +0 -16
- data/examples/watir/Rakefile +0 -12
- data/examples/watir/cucumber.yml +0 -1
- data/examples/watir/features/search.feature +0 -12
- data/examples/watir/features/step_definitions/search_steps.rb +0 -26
- data/examples/watir/features/support/env.rb +0 -35
- data/examples/watir/features/support/screenshots.rb +0 -47
- data/features/docs/api/list_step_defs_as_json.feature +0 -50
- data/features/docs/api/listen_for_events.feature +0 -59
- data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -26
- data/features/docs/cli/backtraces.feature +0 -36
- data/features/docs/cli/dry_run.feature +0 -70
- data/features/docs/cli/exclude_files.feature +0 -18
- data/features/docs/cli/execute_with_tag_filter.feature +0 -117
- data/features/docs/cli/fail_fast.feature +0 -46
- data/features/docs/cli/finding_steps.feature +0 -28
- data/features/docs/cli/help.feature +0 -8
- data/features/docs/cli/randomize.feature +0 -140
- data/features/docs/cli/require.feature +0 -27
- data/features/docs/cli/retry_failing_tests.feature +0 -67
- data/features/docs/cli/run_scenarios_matching_name.feature +0 -104
- data/features/docs/cli/run_specific_scenarios.feature +0 -77
- data/features/docs/cli/showing_differences.feature +0 -43
- data/features/docs/cli/specifying_multiple_formatters.feature +0 -65
- data/features/docs/cli/strict_mode.feature +0 -64
- data/features/docs/defining_steps/nested_steps.feature +0 -177
- data/features/docs/defining_steps/nested_steps_i18n.feature +0 -36
- data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -54
- data/features/docs/defining_steps/one_line_step_definitions.feature +0 -65
- data/features/docs/defining_steps/printing_messages.feature +0 -147
- data/features/docs/defining_steps/skip_scenario.feature +0 -30
- data/features/docs/defining_steps/snippets.feature +0 -56
- data/features/docs/defining_steps/table_diffing.feature +0 -50
- data/features/docs/exception_in_after_hook.feature +0 -126
- data/features/docs/exception_in_after_step_hook.feature +0 -102
- data/features/docs/exception_in_around_hook.feature +0 -78
- data/features/docs/exception_in_before_hook.feature +0 -96
- data/features/docs/extending_cucumber/custom_filter.feature +0 -29
- data/features/docs/extending_cucumber/custom_formatter.feature +0 -102
- data/features/docs/formatters/api_methods.feature +0 -37
- data/features/docs/formatters/debug_formatter.feature +0 -47
- data/features/docs/formatters/formatter_step_file_colon_line.feature +0 -44
- data/features/docs/formatters/html_formatter.feature +0 -91
- data/features/docs/formatters/json_formatter.feature +0 -767
- data/features/docs/formatters/junit_formatter.feature +0 -454
- data/features/docs/formatters/pretty_formatter.feature +0 -73
- data/features/docs/formatters/progress_formatter.feature +0 -31
- data/features/docs/formatters/rerun_formatter.feature +0 -188
- data/features/docs/formatters/summary_formatter.feature +0 -34
- data/features/docs/formatters/usage_formatter.feature +0 -98
- data/features/docs/getting_started.feature +0 -27
- data/features/docs/gherkin/background.feature +0 -548
- data/features/docs/gherkin/doc_strings.feature +0 -74
- data/features/docs/gherkin/expand_option_for_outlines.feature +0 -46
- data/features/docs/gherkin/language_from_header.feature +0 -32
- data/features/docs/gherkin/language_help.feature +0 -42
- data/features/docs/gherkin/outlines.feature +0 -156
- data/features/docs/gherkin/unicode_table.feature +0 -32
- data/features/docs/gherkin/using_descriptions.feature +0 -82
- data/features/docs/gherkin/using_star_notation.feature +0 -37
- data/features/docs/iso-8859-1.feature +0 -6
- data/features/docs/post_configuration_hook.feature +0 -33
- data/features/docs/profiles.feature +0 -120
- data/features/docs/rake_task.feature +0 -141
- data/features/docs/raketask.feature +0 -44
- data/features/docs/work_in_progress.feature +0 -154
- data/features/docs/writing_support_code/after_hooks.feature +0 -102
- data/features/docs/writing_support_code/after_step_hooks.feature +0 -53
- data/features/docs/writing_support_code/around_hooks.feature +0 -260
- data/features/docs/writing_support_code/before_hook.feature +0 -65
- data/features/docs/writing_support_code/hook_order.feature +0 -61
- data/features/docs/writing_support_code/load_path.feature +0 -17
- data/features/docs/writing_support_code/state.feature +0 -32
- data/features/docs/writing_support_code/tagged_hooks.feature +0 -95
- data/features/docs/writing_support_code/transforms.feature +0 -98
- data/features/docs/writing_support_code/world.feature +0 -129
- data/features/lib/step_definitions/aruba_steps.rb +0 -27
- data/features/lib/step_definitions/cli_steps.rb +0 -4
- data/features/lib/step_definitions/cucumber_steps.rb +0 -79
- data/features/lib/step_definitions/iso-8859-1_steps.rb +0 -13
- data/features/lib/step_definitions/json_steps.rb +0 -8
- data/features/lib/step_definitions/junit_steps.rb +0 -14
- data/features/lib/step_definitions/language_steps.rb +0 -9
- data/features/lib/step_definitions/profile_steps.rb +0 -16
- data/features/lib/step_definitions/retry_steps.rb +0 -55
- data/features/lib/step_definitions/ruby_steps.rb +0 -4
- data/features/lib/step_definitions/wire_steps.rb +0 -59
- data/features/lib/support/env.rb +0 -22
- data/features/lib/support/fake_wire_server.rb +0 -81
- data/features/lib/support/feature_factory.rb +0 -68
- data/features/lib/support/normalise_output.rb +0 -51
- data/gem_tasks/contributors.rake +0 -16
- data/gem_tasks/cov.rake +0 -6
- data/gem_tasks/cucumber.rake +0 -26
- data/gem_tasks/downloads.rb +0 -8
- data/gem_tasks/environment.rake +0 -8
- data/gem_tasks/examples.rake +0 -12
- data/gem_tasks/fix_cr_lf.rake +0 -11
- data/gem_tasks/flog.rake +0 -5
- data/gem_tasks/rspec.rake +0 -7
- data/gem_tasks/sass.rake +0 -5
- data/gem_tasks/stats +0 -16
- data/gem_tasks/versions.txt +0 -74
- data/lib/cucumber/core_ext/instance_exec.rb +0 -71
- data/lib/cucumber/formatter/cucumber.css +0 -286
- data/lib/cucumber/formatter/cucumber.sass +0 -247
- data/lib/cucumber/formatter/debug.rb +0 -36
- data/lib/cucumber/formatter/hook_query_visitor.rb +0 -41
- data/lib/cucumber/formatter/html.rb +0 -690
- data/lib/cucumber/formatter/jquery-min.js +0 -154
- data/lib/cucumber/formatter/json_pretty.rb +0 -11
- data/lib/cucumber/formatter/legacy_api/adapter.rb +0 -1012
- data/lib/cucumber/formatter/legacy_api/ast.rb +0 -390
- data/lib/cucumber/formatter/legacy_api/results.rb +0 -52
- data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +0 -32
- data/lib/cucumber/rb_support/rb_hook.rb +0 -20
- data/lib/cucumber/rb_support/rb_language.rb +0 -227
- data/lib/cucumber/rb_support/rb_step_definition.rb +0 -132
- data/lib/cucumber/rb_support/rb_transform.rb +0 -60
- data/lib/cucumber/rb_support/rb_world.rb +0 -171
- data/lib/cucumber/rb_support/snippet.rb +0 -171
- data/lib/cucumber/step_argument.rb +0 -26
- data/spec/cucumber/cli/configuration_spec.rb +0 -436
- data/spec/cucumber/cli/main_spec.rb +0 -84
- data/spec/cucumber/cli/options_spec.rb +0 -411
- data/spec/cucumber/cli/profile_loader_spec.rb +0 -47
- data/spec/cucumber/cli/rerun_spec.rb +0 -86
- data/spec/cucumber/configuration_spec.rb +0 -148
- data/spec/cucumber/constantize_spec.rb +0 -20
- data/spec/cucumber/core_ext/instance_exec_spec.rb +0 -5
- data/spec/cucumber/file_specs_spec.rb +0 -61
- data/spec/cucumber/filters/activate_steps_spec.rb +0 -152
- data/spec/cucumber/filters/gated_receiver_spec.rb +0 -48
- data/spec/cucumber/filters/retry_spec.rb +0 -85
- data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +0 -39
- data/spec/cucumber/filters/tag_limits/verifier_spec.rb +0 -58
- data/spec/cucumber/filters/tag_limits_spec.rb +0 -60
- data/spec/cucumber/formatter/ansicolor_spec.rb +0 -33
- data/spec/cucumber/formatter/console_counts_spec.rb +0 -14
- data/spec/cucumber/formatter/debug_spec.rb +0 -65
- data/spec/cucumber/formatter/duration_spec.rb +0 -23
- data/spec/cucumber/formatter/fail_fast_spec.rb +0 -88
- data/spec/cucumber/formatter/html_spec.rb +0 -543
- data/spec/cucumber/formatter/interceptor_spec.rb +0 -137
- data/spec/cucumber/formatter/json_spec.rb +0 -842
- data/spec/cucumber/formatter/junit_spec.rb +0 -253
- data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2187
- data/spec/cucumber/formatter/pretty_spec.rb +0 -920
- data/spec/cucumber/formatter/progress_spec.rb +0 -170
- data/spec/cucumber/formatter/rerun_spec.rb +0 -97
- data/spec/cucumber/formatter/spec_helper.rb +0 -83
- data/spec/cucumber/hooks_spec.rb +0 -31
- data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -604
- data/spec/cucumber/project_initializer_spec.rb +0 -88
- data/spec/cucumber/rake/forked_spec.rb +0 -54
- data/spec/cucumber/rake/task_spec.rb +0 -86
- data/spec/cucumber/rb_support/rb_language_spec.rb +0 -321
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +0 -200
- data/spec/cucumber/rb_support/rb_transform_spec.rb +0 -47
- data/spec/cucumber/rb_support/rb_world_spec.rb +0 -48
- data/spec/cucumber/rb_support/snippet_spec.rb +0 -138
- data/spec/cucumber/running_test_case_spec.rb +0 -140
- data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -37
- data/spec/cucumber/runtime/support_code_spec.rb +0 -17
- data/spec/cucumber/runtime_spec.rb +0 -21
- data/spec/cucumber/sell_cucumbers.feature +0 -19
- data/spec/cucumber/step_argument_spec.rb +0 -19
- data/spec/cucumber/step_match_search_spec.rb +0 -123
- data/spec/cucumber/step_match_spec.rb +0 -86
- data/spec/cucumber/world/pending_spec.rb +0 -48
- data/spec/spec_helper.rb +0 -30
- data/spec/support/standard_step_actions.rb +0 -19
@@ -1,147 +0,0 @@
|
|
1
|
-
Feature: Pretty formatter - Printing messages
|
2
|
-
|
3
|
-
When you want to print to Cucumber's output, just call `puts` from
|
4
|
-
a step definition. Cucumber will grab the output and print it via
|
5
|
-
the formatter that you're using.
|
6
|
-
|
7
|
-
Your message will be printed out after the step has run.
|
8
|
-
|
9
|
-
Background:
|
10
|
-
Given the standard step definitions
|
11
|
-
And a file named "features/step_definitions/puts_steps.rb" with:
|
12
|
-
"""
|
13
|
-
Given /^I use puts with text "(.*)"$/ do |ann|
|
14
|
-
puts(ann)
|
15
|
-
end
|
16
|
-
|
17
|
-
Given /^I use multiple putss$/ do
|
18
|
-
puts("Multiple")
|
19
|
-
puts("Announce","Me")
|
20
|
-
end
|
21
|
-
|
22
|
-
Given /^I use message (.+) in line (.+) (?:with result (.+))$/ do |ann, line, result|
|
23
|
-
puts("Last message") if line == "3"
|
24
|
-
puts("Line: #{line}: #{ann}")
|
25
|
-
fail if result =~ /fail/i
|
26
|
-
end
|
27
|
-
|
28
|
-
Given /^I use puts and step fails$/ do
|
29
|
-
puts("Announce with fail")
|
30
|
-
fail
|
31
|
-
end
|
32
|
-
|
33
|
-
Given /^I puts the world$/ do
|
34
|
-
puts(self)
|
35
|
-
end
|
36
|
-
"""
|
37
|
-
And a file named "features/f.feature" with:
|
38
|
-
"""
|
39
|
-
Feature:
|
40
|
-
|
41
|
-
Scenario:
|
42
|
-
Given I use puts with text "Ann"
|
43
|
-
And this step passes
|
44
|
-
|
45
|
-
Scenario:
|
46
|
-
Given I use multiple putss
|
47
|
-
And this step passes
|
48
|
-
|
49
|
-
Scenario Outline:
|
50
|
-
Given I use message <ann> in line <line>
|
51
|
-
|
52
|
-
Examples:
|
53
|
-
| line | ann |
|
54
|
-
| 1 | anno1 |
|
55
|
-
| 2 | anno2 |
|
56
|
-
| 3 | anno3 |
|
57
|
-
|
58
|
-
Scenario:
|
59
|
-
Given I use puts and step fails
|
60
|
-
And this step passes
|
61
|
-
|
62
|
-
Scenario Outline:
|
63
|
-
Given I use message <ann> in line <line> with result <result>
|
64
|
-
|
65
|
-
Examples:
|
66
|
-
| line | ann | result |
|
67
|
-
| 1 | anno1 | fail |
|
68
|
-
| 2 | anno2 | pass |
|
69
|
-
"""
|
70
|
-
|
71
|
-
And a file named "features/puts_world.feature" with:
|
72
|
-
"""
|
73
|
-
Feature: puts_world
|
74
|
-
Scenario: puts_world
|
75
|
-
Given I puts the world
|
76
|
-
"""
|
77
|
-
|
78
|
-
# Don't know why, but we need to spawn this for JRuby otherwise it gives wierd errors
|
79
|
-
@spawn
|
80
|
-
Scenario: Delayed messages feature
|
81
|
-
When I run `cucumber --quiet --format pretty features/f.feature`
|
82
|
-
Then the stderr should not contain anything
|
83
|
-
And the output should contain:
|
84
|
-
"""
|
85
|
-
Feature:
|
86
|
-
|
87
|
-
Scenario:
|
88
|
-
Given I use puts with text "Ann"
|
89
|
-
Ann
|
90
|
-
And this step passes
|
91
|
-
|
92
|
-
Scenario:
|
93
|
-
Given I use multiple putss
|
94
|
-
Multiple
|
95
|
-
Announce
|
96
|
-
Me
|
97
|
-
And this step passes
|
98
|
-
|
99
|
-
Scenario Outline:
|
100
|
-
Given I use message <ann> in line <line>
|
101
|
-
|
102
|
-
Examples:
|
103
|
-
| line | ann |
|
104
|
-
| 1 | anno1 |
|
105
|
-
| 2 | anno2 |
|
106
|
-
| 3 | anno3 |
|
107
|
-
|
108
|
-
Scenario:
|
109
|
-
Given I use puts and step fails
|
110
|
-
Announce with fail
|
111
|
-
(RuntimeError)
|
112
|
-
./features/step_definitions/puts_steps.rb:18:in `/^I use puts and step fails$/'
|
113
|
-
features/f.feature:21:in `Given I use puts and step fails'
|
114
|
-
And this step passes
|
115
|
-
|
116
|
-
Scenario Outline:
|
117
|
-
Given I use message <ann> in line <line> with result <result>
|
118
|
-
|
119
|
-
Examples:
|
120
|
-
| line | ann | result |
|
121
|
-
| 1 | anno1 | fail | Line: 1: anno1
|
122
|
-
(RuntimeError)
|
123
|
-
./features/step_definitions/puts_steps.rb:13:in `/^I use message (.+) in line (.+) (?:with result (.+))$/'
|
124
|
-
features/f.feature:29:in `Given I use message anno1 in line 1 with result fail'
|
125
|
-
features/f.feature:25:in `Given I use message <ann> in line <line> with result <result>'
|
126
|
-
| 2 | anno2 | pass | Line: 2: anno2
|
127
|
-
"""
|
128
|
-
|
129
|
-
Scenario: Non-delayed messages feature (progress formatter)
|
130
|
-
When I run `cucumber --format progress features/f.feature`
|
131
|
-
Then the output should contain:
|
132
|
-
"""
|
133
|
-
Ann
|
134
|
-
..
|
135
|
-
Multiple
|
136
|
-
|
137
|
-
Announce
|
138
|
-
Me
|
139
|
-
..UUU
|
140
|
-
Announce with fail
|
141
|
-
F-
|
142
|
-
Line: 1: anno1
|
143
|
-
F
|
144
|
-
Line: 2: anno2
|
145
|
-
.
|
146
|
-
"""
|
147
|
-
|
@@ -1,30 +0,0 @@
|
|
1
|
-
Feature: Skip Scenario
|
2
|
-
|
3
|
-
Scenario: With a passing step
|
4
|
-
Given a file named "features/test.feature" with:
|
5
|
-
"""
|
6
|
-
Feature: test
|
7
|
-
Scenario: test
|
8
|
-
Given this step says to skip
|
9
|
-
And this step passes
|
10
|
-
"""
|
11
|
-
And the standard step definitions
|
12
|
-
And a file named "features/step_definitions/skippy.rb" with:
|
13
|
-
"""
|
14
|
-
Given /skip/ do
|
15
|
-
skip_this_scenario
|
16
|
-
end
|
17
|
-
"""
|
18
|
-
When I run `cucumber -q`
|
19
|
-
Then it should pass with exactly:
|
20
|
-
"""
|
21
|
-
Feature: test
|
22
|
-
|
23
|
-
Scenario: test
|
24
|
-
Given this step says to skip
|
25
|
-
And this step passes
|
26
|
-
|
27
|
-
1 scenario (1 skipped)
|
28
|
-
2 steps (2 skipped)
|
29
|
-
|
30
|
-
"""
|
@@ -1,56 +0,0 @@
|
|
1
|
-
Feature: Snippets
|
2
|
-
|
3
|
-
Cucumber helpfully prints out any undefined step definitions as a code
|
4
|
-
snippet suggestion, which you can then paste into a step definitions
|
5
|
-
file of your choosing.
|
6
|
-
|
7
|
-
Scenario: Snippet for undefined step with a pystring
|
8
|
-
Given a file named "features/undefined_steps.feature" with:
|
9
|
-
"""
|
10
|
-
Feature:
|
11
|
-
Scenario: pystring
|
12
|
-
Given a pystring
|
13
|
-
\"\"\"
|
14
|
-
example with <html> entities
|
15
|
-
\"\"\"
|
16
|
-
When a simple when step
|
17
|
-
And another when step
|
18
|
-
Then a simple then step
|
19
|
-
"""
|
20
|
-
When I run `cucumber features/undefined_steps.feature -s`
|
21
|
-
Then the output should contain:
|
22
|
-
"""
|
23
|
-
Given(/^a pystring$/) do |string|
|
24
|
-
pending # Write code here that turns the phrase above into concrete actions
|
25
|
-
end
|
26
|
-
|
27
|
-
When(/^a simple when step$/) do
|
28
|
-
pending # Write code here that turns the phrase above into concrete actions
|
29
|
-
end
|
30
|
-
|
31
|
-
When(/^another when step$/) do
|
32
|
-
pending # Write code here that turns the phrase above into concrete actions
|
33
|
-
end
|
34
|
-
|
35
|
-
Then(/^a simple then step$/) do
|
36
|
-
pending # Write code here that turns the phrase above into concrete actions
|
37
|
-
end
|
38
|
-
"""
|
39
|
-
|
40
|
-
Scenario: Snippet for undefined step with a step table
|
41
|
-
Given a file named "features/undefined_steps.feature" with:
|
42
|
-
"""
|
43
|
-
Feature:
|
44
|
-
Scenario: table
|
45
|
-
Given a table
|
46
|
-
| table |
|
47
|
-
|example|
|
48
|
-
"""
|
49
|
-
When I run `cucumber features/undefined_steps.feature -s`
|
50
|
-
Then the output should contain:
|
51
|
-
"""
|
52
|
-
Given(/^a table$/) do |table|
|
53
|
-
# table is a Cucumber::MultilineArgument::DataTable
|
54
|
-
pending # Write code here that turns the phrase above into concrete actions
|
55
|
-
end
|
56
|
-
"""
|
@@ -1,50 +0,0 @@
|
|
1
|
-
Feature: Table diffing
|
2
|
-
|
3
|
-
To allow you to more easily compare data in tables, you are able
|
4
|
-
to easily diff a table with expected data and see the diff in your
|
5
|
-
output.
|
6
|
-
|
7
|
-
Scenario: Extra row
|
8
|
-
Given a file named "features/tables.feature" with:
|
9
|
-
"""
|
10
|
-
Feature: Tables
|
11
|
-
Scenario: Extra row
|
12
|
-
Then the table should be:
|
13
|
-
| x | y |
|
14
|
-
| a | b |
|
15
|
-
"""
|
16
|
-
And a file named "features/step_definitions/steps.rb" with:
|
17
|
-
"""
|
18
|
-
Then /the table should be:/ do |expected| x=1
|
19
|
-
expected.diff!(table(%{
|
20
|
-
| x | y |
|
21
|
-
| a | c |
|
22
|
-
}))
|
23
|
-
end
|
24
|
-
"""
|
25
|
-
When I run `cucumber features/tables.feature`
|
26
|
-
Then it should fail with exactly:
|
27
|
-
"""
|
28
|
-
Feature: Tables
|
29
|
-
|
30
|
-
Scenario: Extra row # features/tables.feature:2
|
31
|
-
Then the table should be: # features/step_definitions/steps.rb:1
|
32
|
-
| x | y |
|
33
|
-
| a | b |
|
34
|
-
Tables were not identical:
|
35
|
-
|
36
|
-
| x | y |
|
37
|
-
| (-) a | (-) b |
|
38
|
-
| (+) a | (+) c |
|
39
|
-
(Cucumber::MultilineArgument::DataTable::Different)
|
40
|
-
./features/step_definitions/steps.rb:2:in `/the table should be:/'
|
41
|
-
features/tables.feature:3:in `Then the table should be:'
|
42
|
-
|
43
|
-
Failing Scenarios:
|
44
|
-
cucumber features/tables.feature:2 # Scenario: Extra row
|
45
|
-
|
46
|
-
1 scenario (1 failed)
|
47
|
-
1 step (1 failed)
|
48
|
-
0m0.012s
|
49
|
-
|
50
|
-
"""
|
@@ -1,126 +0,0 @@
|
|
1
|
-
Feature: Exception in After Block
|
2
|
-
In order to use custom assertions at the end of each scenario
|
3
|
-
As a developer
|
4
|
-
I want exceptions raised in After blocks to be handled gracefully and reported by the formatters
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given the standard step definitions
|
8
|
-
And a file named "features/step_definitions/naughty_steps.rb" with:
|
9
|
-
"""
|
10
|
-
Given /^this step does something naughty$/ do x=1
|
11
|
-
@naughty = true
|
12
|
-
end
|
13
|
-
"""
|
14
|
-
And a file named "features/support/env.rb" with:
|
15
|
-
"""
|
16
|
-
class NaughtyScenarioException < Exception; end
|
17
|
-
After do
|
18
|
-
if @naughty
|
19
|
-
raise NaughtyScenarioException.new("This scenario has been very very naughty")
|
20
|
-
end
|
21
|
-
end
|
22
|
-
"""
|
23
|
-
|
24
|
-
@spawn
|
25
|
-
Scenario: Handle Exception in standard scenario step and carry on
|
26
|
-
Given a file named "features/naughty_step_in_scenario.feature" with:
|
27
|
-
"""
|
28
|
-
Feature: Sample
|
29
|
-
|
30
|
-
Scenario: Naughty Step
|
31
|
-
Given this step does something naughty
|
32
|
-
|
33
|
-
Scenario: Success
|
34
|
-
Given this step passes
|
35
|
-
"""
|
36
|
-
When I run `cucumber features`
|
37
|
-
Then it should fail with:
|
38
|
-
"""
|
39
|
-
Feature: Sample
|
40
|
-
|
41
|
-
Scenario: Naughty Step # features/naughty_step_in_scenario.feature:3
|
42
|
-
Given this step does something naughty # features/step_definitions/naughty_steps.rb:1
|
43
|
-
This scenario has been very very naughty (NaughtyScenarioException)
|
44
|
-
./features/support/env.rb:4:in `After'
|
45
|
-
|
46
|
-
Scenario: Success # features/naughty_step_in_scenario.feature:6
|
47
|
-
Given this step passes # features/step_definitions/steps.rb:1
|
48
|
-
|
49
|
-
Failing Scenarios:
|
50
|
-
cucumber features/naughty_step_in_scenario.feature:3 # Scenario: Naughty Step
|
51
|
-
|
52
|
-
2 scenarios (1 failed, 1 passed)
|
53
|
-
2 steps (2 passed)
|
54
|
-
|
55
|
-
"""
|
56
|
-
|
57
|
-
@spawn
|
58
|
-
Scenario: Handle Exception in scenario outline table row and carry on
|
59
|
-
Given a file named "features/naughty_step_in_scenario_outline.feature" with:
|
60
|
-
"""
|
61
|
-
Feature: Sample
|
62
|
-
|
63
|
-
Scenario Outline: Naughty Step
|
64
|
-
Given this step <Might Work>
|
65
|
-
|
66
|
-
Examples:
|
67
|
-
| Might Work |
|
68
|
-
| passes |
|
69
|
-
| does something naughty |
|
70
|
-
| passes |
|
71
|
-
|
72
|
-
Scenario: Success
|
73
|
-
Given this step passes
|
74
|
-
|
75
|
-
"""
|
76
|
-
When I run `cucumber features -q`
|
77
|
-
Then it should fail with:
|
78
|
-
"""
|
79
|
-
Feature: Sample
|
80
|
-
|
81
|
-
Scenario Outline: Naughty Step
|
82
|
-
Given this step <Might Work>
|
83
|
-
|
84
|
-
Examples:
|
85
|
-
| Might Work |
|
86
|
-
| passes |
|
87
|
-
| does something naughty |
|
88
|
-
This scenario has been very very naughty (NaughtyScenarioException)
|
89
|
-
./features/support/env.rb:4:in `After'
|
90
|
-
| passes |
|
91
|
-
|
92
|
-
Scenario: Success
|
93
|
-
Given this step passes
|
94
|
-
|
95
|
-
Failing Scenarios:
|
96
|
-
cucumber features/naughty_step_in_scenario_outline.feature:9
|
97
|
-
|
98
|
-
4 scenarios (1 failed, 3 passed)
|
99
|
-
4 steps (4 passed)
|
100
|
-
|
101
|
-
"""
|
102
|
-
|
103
|
-
Scenario: Handle Exception using the progress format
|
104
|
-
Given a file named "features/naughty_step_in_scenario.feature" with:
|
105
|
-
"""
|
106
|
-
Feature: Sample
|
107
|
-
|
108
|
-
Scenario: Naughty Step
|
109
|
-
Given this step does something naughty
|
110
|
-
|
111
|
-
Scenario: Success
|
112
|
-
Given this step passes
|
113
|
-
"""
|
114
|
-
When I run `cucumber features --format progress`
|
115
|
-
Then it should fail with:
|
116
|
-
"""
|
117
|
-
.F.
|
118
|
-
|
119
|
-
Failing Scenarios:
|
120
|
-
cucumber features/naughty_step_in_scenario.feature:3 # Scenario: Naughty Step
|
121
|
-
|
122
|
-
2 scenarios (1 failed, 1 passed)
|
123
|
-
2 steps (2 passed)
|
124
|
-
|
125
|
-
"""
|
126
|
-
|
@@ -1,102 +0,0 @@
|
|
1
|
-
Feature: Exception in AfterStep Block
|
2
|
-
In order to use custom assertions at the end of each step
|
3
|
-
As a developer
|
4
|
-
I want exceptions raised in AfterStep blocks to be handled gracefully and reported by the formatters
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given the standard step definitions
|
8
|
-
And a file named "features/step_definitions/naughty_steps.rb" with:
|
9
|
-
"""
|
10
|
-
Given /^this step does something naughty$/ do x=1
|
11
|
-
@naughty = true
|
12
|
-
end
|
13
|
-
"""
|
14
|
-
And a file named "features/support/env.rb" with:
|
15
|
-
"""
|
16
|
-
class NaughtyStepException < Exception; end
|
17
|
-
AfterStep do
|
18
|
-
if @naughty
|
19
|
-
raise NaughtyStepException.new("This step has been very very naughty")
|
20
|
-
end
|
21
|
-
end
|
22
|
-
"""
|
23
|
-
|
24
|
-
Scenario: Handle Exception in standard scenario step and carry on
|
25
|
-
Given a file named "features/naughty_step_in_scenario.feature" with:
|
26
|
-
"""
|
27
|
-
Feature: Sample
|
28
|
-
|
29
|
-
Scenario: Naughty Step
|
30
|
-
Given this step does something naughty
|
31
|
-
|
32
|
-
Scenario: Success
|
33
|
-
Given this step passes
|
34
|
-
"""
|
35
|
-
When I run `cucumber features`
|
36
|
-
Then it should fail with:
|
37
|
-
"""
|
38
|
-
Feature: Sample
|
39
|
-
|
40
|
-
Scenario: Naughty Step # features/naughty_step_in_scenario.feature:3
|
41
|
-
Given this step does something naughty # features/step_definitions/naughty_steps.rb:1
|
42
|
-
This step has been very very naughty (NaughtyStepException)
|
43
|
-
./features/support/env.rb:4:in `AfterStep'
|
44
|
-
features/naughty_step_in_scenario.feature:4:in `Given this step does something naughty'
|
45
|
-
|
46
|
-
Scenario: Success # features/naughty_step_in_scenario.feature:6
|
47
|
-
Given this step passes # features/step_definitions/steps.rb:1
|
48
|
-
|
49
|
-
Failing Scenarios:
|
50
|
-
cucumber features/naughty_step_in_scenario.feature:3 # Scenario: Naughty Step
|
51
|
-
|
52
|
-
2 scenarios (1 failed, 1 passed)
|
53
|
-
2 steps (2 passed)
|
54
|
-
|
55
|
-
"""
|
56
|
-
|
57
|
-
Scenario: Handle Exception in scenario outline table row and carry on
|
58
|
-
Given a file named "features/naughty_step_in_scenario_outline.feature" with:
|
59
|
-
"""
|
60
|
-
Feature: Sample
|
61
|
-
|
62
|
-
Scenario Outline: Naughty Step
|
63
|
-
Given this step <Might Work>
|
64
|
-
|
65
|
-
Examples:
|
66
|
-
| Might Work |
|
67
|
-
| passes |
|
68
|
-
| does something naughty |
|
69
|
-
| passes |
|
70
|
-
|
71
|
-
Scenario: Success
|
72
|
-
Given this step passes
|
73
|
-
|
74
|
-
"""
|
75
|
-
When I run `cucumber features`
|
76
|
-
Then it should fail with:
|
77
|
-
"""
|
78
|
-
Feature: Sample
|
79
|
-
|
80
|
-
Scenario Outline: Naughty Step # features/naughty_step_in_scenario_outline.feature:3
|
81
|
-
Given this step <Might Work> # features/naughty_step_in_scenario_outline.feature:4
|
82
|
-
|
83
|
-
Examples:
|
84
|
-
| Might Work |
|
85
|
-
| passes |
|
86
|
-
| does something naughty |
|
87
|
-
This step has been very very naughty (NaughtyStepException)
|
88
|
-
./features/support/env.rb:4:in `AfterStep'
|
89
|
-
features/naughty_step_in_scenario_outline.feature:9:in `Given this step does something naughty'
|
90
|
-
features/naughty_step_in_scenario_outline.feature:4:in `Given this step <Might Work>'
|
91
|
-
| passes |
|
92
|
-
|
93
|
-
Scenario: Success # features/naughty_step_in_scenario_outline.feature:12
|
94
|
-
Given this step passes # features/step_definitions/steps.rb:1
|
95
|
-
|
96
|
-
Failing Scenarios:
|
97
|
-
cucumber features/naughty_step_in_scenario_outline.feature:9 # Scenario Outline: Naughty Step, Examples (#2)
|
98
|
-
|
99
|
-
4 scenarios (1 failed, 3 passed)
|
100
|
-
4 steps (4 passed)
|
101
|
-
|
102
|
-
"""
|