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,46 +0,0 @@
|
|
1
|
-
@spawn
|
2
|
-
Feature: Fail fast
|
3
|
-
|
4
|
-
The --fail-fast flag causes Cucumber to exit immediately after the first
|
5
|
-
scenario fails.
|
6
|
-
|
7
|
-
Scenario: When a scenario fails
|
8
|
-
Given a file named "features/bad.feature" with:
|
9
|
-
"""
|
10
|
-
Feature: Bad
|
11
|
-
Scenario: Failing
|
12
|
-
Given this step fails
|
13
|
-
"""
|
14
|
-
And a file named "features/good.feature" with:
|
15
|
-
"""
|
16
|
-
Feature: Good
|
17
|
-
Scenario: Passing
|
18
|
-
Given this step passes
|
19
|
-
"""
|
20
|
-
And the standard step definitions
|
21
|
-
When I run `cucumber --fail-fast`
|
22
|
-
Then it should fail
|
23
|
-
And the output should contain:
|
24
|
-
"""
|
25
|
-
1 scenario (1 failed)
|
26
|
-
"""
|
27
|
-
|
28
|
-
Scenario: When all the scenarios pass
|
29
|
-
Given a file named "features/first.feature" with:
|
30
|
-
"""
|
31
|
-
Feature: first feature
|
32
|
-
Scenario: foo first
|
33
|
-
Given this step passes
|
34
|
-
Scenario: bar first
|
35
|
-
Given this step passes
|
36
|
-
"""
|
37
|
-
And a file named "features/second.feature" with:
|
38
|
-
"""
|
39
|
-
Feature: second
|
40
|
-
Scenario: foo second
|
41
|
-
Given this step passes
|
42
|
-
Scenario: bar second
|
43
|
-
Given this step passes
|
44
|
-
"""
|
45
|
-
When I run `cucumber --fail-fast`
|
46
|
-
Then it should pass
|
@@ -1,28 +0,0 @@
|
|
1
|
-
Feature: Loading the steps users expect
|
2
|
-
As a User
|
3
|
-
In order to run features in subdirectories without having to pass extra options
|
4
|
-
I want cucumber to load all step files
|
5
|
-
|
6
|
-
Scenario:
|
7
|
-
Given a file named "features/nesting/test.feature" with:
|
8
|
-
"""
|
9
|
-
Feature: Feature in Subdirectory
|
10
|
-
Scenario: A step not in the subdirectory
|
11
|
-
Given not found in subdirectory
|
12
|
-
"""
|
13
|
-
And a file named "features/step_definitions/steps_no_in_subdirectory.rb" with:
|
14
|
-
"""
|
15
|
-
Given(/^not found in subdirectory$/) { }
|
16
|
-
"""
|
17
|
-
When I run `cucumber -q features/nesting/test.feature`
|
18
|
-
Then it should pass with:
|
19
|
-
"""
|
20
|
-
Feature: Feature in Subdirectory
|
21
|
-
|
22
|
-
Scenario: A step not in the subdirectory
|
23
|
-
Given not found in subdirectory
|
24
|
-
|
25
|
-
1 scenario (1 passed)
|
26
|
-
1 step (1 passed)
|
27
|
-
"""
|
28
|
-
|
@@ -1,140 +0,0 @@
|
|
1
|
-
Feature: Randomize
|
2
|
-
|
3
|
-
Use the `--order random` switch to run scenarios in random order.
|
4
|
-
|
5
|
-
This is especially helpful for detecting situations where you have state
|
6
|
-
leaking between scenarios, which can cause flickering or fragile tests.
|
7
|
-
|
8
|
-
If you do find a random run that exposes dependencies between your tests,
|
9
|
-
you can reproduce that run by using the seed that's printed at the end of
|
10
|
-
the test run.
|
11
|
-
|
12
|
-
For a given seed, the order of scenarios is constant, i.e. if step A runs
|
13
|
-
before step B, it will always run before step B even if other steps are
|
14
|
-
skipped.
|
15
|
-
|
16
|
-
Background:
|
17
|
-
Given a file named "features/bad_practice_part_1.feature" with:
|
18
|
-
"""
|
19
|
-
Feature: Bad practice, part 1
|
20
|
-
|
21
|
-
Scenario: Set state
|
22
|
-
Given I set some state
|
23
|
-
|
24
|
-
Scenario: Depend on state from a preceding scenario
|
25
|
-
When I depend on the state
|
26
|
-
"""
|
27
|
-
And a file named "features/bad_practice_part_2.feature" with:
|
28
|
-
"""
|
29
|
-
Feature: Bad practice, part 2
|
30
|
-
|
31
|
-
Scenario: Depend on state from a preceding feature
|
32
|
-
When I depend on the state
|
33
|
-
"""
|
34
|
-
And a file named "features/unrelated.feature" with:
|
35
|
-
"""
|
36
|
-
Feature: Unrelated
|
37
|
-
|
38
|
-
@skipme
|
39
|
-
Scenario: Do something unrelated
|
40
|
-
When I do something
|
41
|
-
"""
|
42
|
-
And a file named "features/step_definitions/steps.rb" with:
|
43
|
-
"""
|
44
|
-
Given(/^I set some state$/) do
|
45
|
-
$global_state = "set"
|
46
|
-
end
|
47
|
-
|
48
|
-
Given(/^I depend on the state$/) do
|
49
|
-
raise "I expect the state to be set!" unless $global_state == "set"
|
50
|
-
end
|
51
|
-
|
52
|
-
Given(/^I do something$/) do
|
53
|
-
end
|
54
|
-
"""
|
55
|
-
|
56
|
-
Scenario: Run scenarios in order
|
57
|
-
When I run `cucumber`
|
58
|
-
Then it should pass
|
59
|
-
|
60
|
-
@spawn
|
61
|
-
Scenario: Run scenarios randomized
|
62
|
-
When I run `cucumber --order random:41544 -q`
|
63
|
-
Then it should fail
|
64
|
-
And the stdout should contain exactly:
|
65
|
-
"""
|
66
|
-
Feature: Bad practice, part 1
|
67
|
-
|
68
|
-
Scenario: Depend on state from a preceding scenario
|
69
|
-
When I depend on the state
|
70
|
-
I expect the state to be set! (RuntimeError)
|
71
|
-
./features/step_definitions/steps.rb:6:in `/^I depend on the state$/'
|
72
|
-
features/bad_practice_part_1.feature:7:in `When I depend on the state'
|
73
|
-
|
74
|
-
Feature: Unrelated
|
75
|
-
|
76
|
-
@skipme
|
77
|
-
Scenario: Do something unrelated
|
78
|
-
When I do something
|
79
|
-
|
80
|
-
Feature: Bad practice, part 2
|
81
|
-
|
82
|
-
Scenario: Depend on state from a preceding feature
|
83
|
-
When I depend on the state
|
84
|
-
I expect the state to be set! (RuntimeError)
|
85
|
-
./features/step_definitions/steps.rb:6:in `/^I depend on the state$/'
|
86
|
-
features/bad_practice_part_2.feature:4:in `When I depend on the state'
|
87
|
-
|
88
|
-
Feature: Bad practice, part 1
|
89
|
-
|
90
|
-
Scenario: Set state
|
91
|
-
Given I set some state
|
92
|
-
|
93
|
-
Failing Scenarios:
|
94
|
-
cucumber features/bad_practice_part_1.feature:6
|
95
|
-
cucumber features/bad_practice_part_2.feature:3
|
96
|
-
|
97
|
-
4 scenarios (2 failed, 2 passed)
|
98
|
-
4 steps (2 failed, 2 passed)
|
99
|
-
|
100
|
-
Randomized with seed 41544
|
101
|
-
|
102
|
-
"""
|
103
|
-
|
104
|
-
@spawn
|
105
|
-
Scenario: Run scenarios randomized with some skipped
|
106
|
-
When I run `cucumber --tags ~@skipme --order random:41544 -q`
|
107
|
-
Then it should fail
|
108
|
-
And the stdout should contain exactly:
|
109
|
-
"""
|
110
|
-
Feature: Bad practice, part 1
|
111
|
-
|
112
|
-
Scenario: Depend on state from a preceding scenario
|
113
|
-
When I depend on the state
|
114
|
-
I expect the state to be set! (RuntimeError)
|
115
|
-
./features/step_definitions/steps.rb:6:in `/^I depend on the state$/'
|
116
|
-
features/bad_practice_part_1.feature:7:in `When I depend on the state'
|
117
|
-
|
118
|
-
Feature: Bad practice, part 2
|
119
|
-
|
120
|
-
Scenario: Depend on state from a preceding feature
|
121
|
-
When I depend on the state
|
122
|
-
I expect the state to be set! (RuntimeError)
|
123
|
-
./features/step_definitions/steps.rb:6:in `/^I depend on the state$/'
|
124
|
-
features/bad_practice_part_2.feature:4:in `When I depend on the state'
|
125
|
-
|
126
|
-
Feature: Bad practice, part 1
|
127
|
-
|
128
|
-
Scenario: Set state
|
129
|
-
Given I set some state
|
130
|
-
|
131
|
-
Failing Scenarios:
|
132
|
-
cucumber features/bad_practice_part_1.feature:6
|
133
|
-
cucumber features/bad_practice_part_2.feature:3
|
134
|
-
|
135
|
-
3 scenarios (2 failed, 1 passed)
|
136
|
-
3 steps (2 failed, 1 passed)
|
137
|
-
|
138
|
-
Randomized with seed 41544
|
139
|
-
|
140
|
-
"""
|
@@ -1,27 +0,0 @@
|
|
1
|
-
Feature: Requiring extra step files
|
2
|
-
|
3
|
-
Cucumber allows you to require extra files using the `-r` option.
|
4
|
-
|
5
|
-
Scenario:
|
6
|
-
Given a file named "features/test.feature" with:
|
7
|
-
"""
|
8
|
-
Feature: Sample
|
9
|
-
Scenario: Sample
|
10
|
-
Given found in extra file
|
11
|
-
"""
|
12
|
-
And a file named "tmp/extras.rb" with:
|
13
|
-
"""
|
14
|
-
Given(/^found in extra file$/) { }
|
15
|
-
"""
|
16
|
-
When I run `cucumber -q -r tmp/extras.rb features/test.feature`
|
17
|
-
Then it should pass with:
|
18
|
-
"""
|
19
|
-
Feature: Sample
|
20
|
-
|
21
|
-
Scenario: Sample
|
22
|
-
Given found in extra file
|
23
|
-
|
24
|
-
1 scenario (1 passed)
|
25
|
-
1 step (1 passed)
|
26
|
-
"""
|
27
|
-
|
@@ -1,67 +0,0 @@
|
|
1
|
-
Feature: Retry failing tests
|
2
|
-
|
3
|
-
Retry gives you a way to get through flaky tests that usually pass after a few runs.
|
4
|
-
This gives a development team a way forward other than disabling a valuable test.
|
5
|
-
|
6
|
-
- Specify max retry count in option
|
7
|
-
- Output information to the screen
|
8
|
-
- Output retry information in test report
|
9
|
-
|
10
|
-
Questions:
|
11
|
-
use a tag for flaky tests? Global option to retry any test that fails?
|
12
|
-
|
13
|
-
Background:
|
14
|
-
Given a scenario "Fails-once" that fails once, then passes
|
15
|
-
And a scenario "Fails-twice" that fails twice, then passes
|
16
|
-
And a scenario "Solid" that passes
|
17
|
-
And a scenario "Fails-forever" that fails
|
18
|
-
|
19
|
-
Scenario: Retry once, so Fails-once starts to pass
|
20
|
-
When I run `cucumber -q --retry 1 --format summary`
|
21
|
-
Then it should fail with:
|
22
|
-
"""
|
23
|
-
7 scenarios (5 failed, 2 passed)
|
24
|
-
"""
|
25
|
-
And it should fail with:
|
26
|
-
"""
|
27
|
-
Fails-forever
|
28
|
-
Fails-forever ✗
|
29
|
-
Fails-forever ✗
|
30
|
-
|
31
|
-
Solid
|
32
|
-
Solid ✓
|
33
|
-
|
34
|
-
Fails-once feature
|
35
|
-
Fails-once ✗
|
36
|
-
Fails-once ✓
|
37
|
-
|
38
|
-
Fails-twice feature
|
39
|
-
Fails-twice ✗
|
40
|
-
Fails-twice ✗
|
41
|
-
"""
|
42
|
-
|
43
|
-
Scenario: Retry twice, so Fails-twice starts to pass too
|
44
|
-
When I run `cucumber -q --retry 2 --format summary`
|
45
|
-
Then it should fail with:
|
46
|
-
"""
|
47
|
-
9 scenarios (6 failed, 3 passed)
|
48
|
-
"""
|
49
|
-
And it should fail with:
|
50
|
-
"""
|
51
|
-
Fails-forever
|
52
|
-
Fails-forever ✗
|
53
|
-
Fails-forever ✗
|
54
|
-
Fails-forever ✗
|
55
|
-
|
56
|
-
Solid
|
57
|
-
Solid ✓
|
58
|
-
|
59
|
-
Fails-once feature
|
60
|
-
Fails-once ✗
|
61
|
-
Fails-once ✓
|
62
|
-
|
63
|
-
Fails-twice feature
|
64
|
-
Fails-twice ✗
|
65
|
-
Fails-twice ✗
|
66
|
-
Fails-twice ✓
|
67
|
-
"""
|
@@ -1,104 +0,0 @@
|
|
1
|
-
Feature: Run feature elements matching a name with --name/-n
|
2
|
-
|
3
|
-
The `--name NAME` option runs only scenarios which match a certain
|
4
|
-
name. The NAME can be a substring of the names of Features, Scenarios,
|
5
|
-
Scenario Outlines or Example blocks.
|
6
|
-
|
7
|
-
Background:
|
8
|
-
Given a file named "features/first.feature" with:
|
9
|
-
"""
|
10
|
-
Feature: first feature
|
11
|
-
Scenario: foo first
|
12
|
-
Given missing
|
13
|
-
Scenario: bar first
|
14
|
-
Given missing
|
15
|
-
"""
|
16
|
-
Given a file named "features/second.feature" with:
|
17
|
-
"""
|
18
|
-
Feature: second
|
19
|
-
Scenario: foo second
|
20
|
-
Given missing
|
21
|
-
Scenario: bar second
|
22
|
-
Given missing
|
23
|
-
"""
|
24
|
-
Given a file named "features/outline.feature" with:
|
25
|
-
"""
|
26
|
-
Feature: outline
|
27
|
-
Scenario Outline: baz outline
|
28
|
-
Given outline step <name>
|
29
|
-
|
30
|
-
Examples: quux example
|
31
|
-
| name |
|
32
|
-
| a |
|
33
|
-
| b |
|
34
|
-
"""
|
35
|
-
|
36
|
-
Scenario: Matching Feature names
|
37
|
-
When I run `cucumber -q --name feature`
|
38
|
-
Then it should pass with:
|
39
|
-
"""
|
40
|
-
Feature: first feature
|
41
|
-
|
42
|
-
Scenario: foo first
|
43
|
-
Given missing
|
44
|
-
|
45
|
-
Scenario: bar first
|
46
|
-
Given missing
|
47
|
-
|
48
|
-
2 scenarios (2 undefined)
|
49
|
-
2 steps (2 undefined)
|
50
|
-
"""
|
51
|
-
|
52
|
-
Scenario: Matching Scenario names
|
53
|
-
When I run `cucumber -q --name foo`
|
54
|
-
Then it should pass with:
|
55
|
-
"""
|
56
|
-
Feature: first feature
|
57
|
-
|
58
|
-
Scenario: foo first
|
59
|
-
Given missing
|
60
|
-
|
61
|
-
Feature: second
|
62
|
-
|
63
|
-
Scenario: foo second
|
64
|
-
Given missing
|
65
|
-
|
66
|
-
2 scenarios (2 undefined)
|
67
|
-
2 steps (2 undefined)
|
68
|
-
"""
|
69
|
-
|
70
|
-
Scenario: Matching Scenario Outline names
|
71
|
-
When I run `cucumber -q --name baz`
|
72
|
-
Then it should pass with:
|
73
|
-
"""
|
74
|
-
Feature: outline
|
75
|
-
|
76
|
-
Scenario Outline: baz outline
|
77
|
-
Given outline step <name>
|
78
|
-
|
79
|
-
Examples: quux example
|
80
|
-
| name |
|
81
|
-
| a |
|
82
|
-
| b |
|
83
|
-
|
84
|
-
2 scenarios (2 undefined)
|
85
|
-
2 steps (2 undefined)
|
86
|
-
"""
|
87
|
-
|
88
|
-
Scenario: Matching Example block names
|
89
|
-
When I run `cucumber -q --name quux`
|
90
|
-
Then it should pass with:
|
91
|
-
"""
|
92
|
-
Feature: outline
|
93
|
-
|
94
|
-
Scenario Outline: baz outline
|
95
|
-
Given outline step <name>
|
96
|
-
|
97
|
-
Examples: quux example
|
98
|
-
| name |
|
99
|
-
| a |
|
100
|
-
| b |
|
101
|
-
|
102
|
-
2 scenarios (2 undefined)
|
103
|
-
2 steps (2 undefined)
|
104
|
-
"""
|
@@ -1,77 +0,0 @@
|
|
1
|
-
Feature: Run specific scenarios
|
2
|
-
|
3
|
-
You can choose to run a specific scenario using the file:line format,
|
4
|
-
or you can pass in a file with a list of scenarios using @-notation.
|
5
|
-
|
6
|
-
The line number can fall anywhere within the body of a scenario, including
|
7
|
-
steps, tags, comments, description, data tables or doc strings.
|
8
|
-
|
9
|
-
For scenario outlines, if the line hits one example row, just that one
|
10
|
-
will be run. Otherwise all examples in the table or outline will be run.
|
11
|
-
|
12
|
-
Background:
|
13
|
-
Given the standard step definitions
|
14
|
-
|
15
|
-
Scenario: Two scenarios, run just one of them
|
16
|
-
Given a file named "features/test.feature" with:
|
17
|
-
"""
|
18
|
-
Feature:
|
19
|
-
|
20
|
-
Scenario: Miss
|
21
|
-
Given this step is undefined
|
22
|
-
|
23
|
-
Scenario: Hit
|
24
|
-
Given this step passes
|
25
|
-
"""
|
26
|
-
When I run `cucumber features/test.feature:7 --format pretty --quiet`
|
27
|
-
Then it should pass with exactly:
|
28
|
-
"""
|
29
|
-
Feature:
|
30
|
-
|
31
|
-
Scenario: Hit
|
32
|
-
Given this step passes
|
33
|
-
|
34
|
-
1 scenario (1 passed)
|
35
|
-
1 step (1 passed)
|
36
|
-
|
37
|
-
"""
|
38
|
-
|
39
|
-
Scenario: Use @-notation to specify a file containing feature file list
|
40
|
-
Given a file named "features/test.feature" with:
|
41
|
-
"""
|
42
|
-
Feature: Sample
|
43
|
-
Scenario: Passing
|
44
|
-
Given this step passes
|
45
|
-
"""
|
46
|
-
And a file named "list-of-features.txt" with:
|
47
|
-
"""
|
48
|
-
features/test.feature:2
|
49
|
-
"""
|
50
|
-
When I run `cucumber -q @list-of-features.txt`
|
51
|
-
Then it should pass with:
|
52
|
-
"""
|
53
|
-
Feature: Sample
|
54
|
-
|
55
|
-
Scenario: Passing
|
56
|
-
Given this step passes
|
57
|
-
|
58
|
-
1 scenario (1 passed)
|
59
|
-
1 step (1 passed)
|
60
|
-
"""
|
61
|
-
|
62
|
-
Scenario: Specify order of scenarios
|
63
|
-
Given a file named "features/test.feature" with:
|
64
|
-
"""
|
65
|
-
Feature:
|
66
|
-
Scenario:
|
67
|
-
Given this step passes
|
68
|
-
|
69
|
-
Scenario:
|
70
|
-
Given this step fails
|
71
|
-
"""
|
72
|
-
When I run `cucumber features/test.feature:5 features/test.feature:3 -f progress`
|
73
|
-
Then it should fail with:
|
74
|
-
"""
|
75
|
-
F.
|
76
|
-
"""
|
77
|
-
|