cucumber 3.0.0.pre.2 → 4.0.0.rc.5
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} +267 -14
- data/CONTRIBUTING.md +4 -21
- data/README.md +14 -15
- data/bin/cucumber +2 -1
- data/lib/autotest/cucumber.rb +1 -0
- data/lib/autotest/cucumber_mixin.rb +36 -40
- 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 +1 -0
- data/lib/cucumber.rb +2 -1
- data/lib/cucumber/cli/configuration.rb +8 -7
- data/lib/cucumber/cli/main.rb +14 -14
- data/lib/cucumber/cli/options.rb +141 -120
- data/lib/cucumber/cli/profile_loader.rb +50 -29
- data/lib/cucumber/cli/rerun_file.rb +1 -0
- data/lib/cucumber/configuration.rb +40 -30
- data/lib/cucumber/constantize.rb +8 -10
- data/lib/cucumber/core_ext/string.rb +1 -0
- data/lib/cucumber/deprecate.rb +33 -9
- data/lib/cucumber/encoding.rb +2 -1
- data/lib/cucumber/errors.rb +10 -8
- data/lib/cucumber/events.rb +14 -9
- 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 +1 -4
- data/lib/cucumber/events/hook_test_step_created.rb +13 -0
- data/lib/cucumber/events/step_activated.rb +6 -6
- data/lib/cucumber/events/step_definition_registered.rb +4 -8
- data/lib/cucumber/events/test_case_created.rb +13 -0
- data/lib/cucumber/events/test_case_finished.rb +1 -5
- data/lib/cucumber/events/test_case_ready.rb +12 -0
- data/lib/cucumber/events/{test_case_starting.rb → test_case_started.rb} +1 -5
- data/lib/cucumber/events/test_run_finished.rb +2 -3
- data/lib/cucumber/events/{test_run_starting.rb → test_run_started.rb} +3 -5
- data/lib/cucumber/events/test_step_created.rb +13 -0
- data/lib/cucumber/events/test_step_finished.rb +0 -6
- data/lib/cucumber/events/{test_step_starting.rb → test_step_started.rb} +2 -8
- data/lib/cucumber/file_specs.rb +7 -6
- data/lib/cucumber/filters.rb +3 -1
- data/lib/cucumber/filters/activate_steps.rb +11 -5
- 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_starting_event.rb → broadcast_test_run_started_event.rb} +4 -3
- 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 +2 -2
- data/lib/cucumber/filters/tag_limits.rb +2 -2
- data/lib/cucumber/filters/tag_limits/test_case_index.rb +1 -2
- data/lib/cucumber/filters/tag_limits/verifier.rb +3 -6
- data/lib/cucumber/formatter/ansicolor.rb +33 -37
- data/lib/cucumber/formatter/ast_lookup.rb +165 -0
- data/lib/cucumber/formatter/backtrace_filter.rb +10 -10
- data/lib/cucumber/formatter/console.rb +37 -74
- data/lib/cucumber/formatter/console_counts.rb +4 -9
- data/lib/cucumber/formatter/console_issues.rb +10 -7
- 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 +9 -6
- data/lib/cucumber/formatter/fanout.rb +3 -3
- data/lib/cucumber/formatter/html.rb +11 -603
- data/lib/cucumber/formatter/http_io.rb +93 -0
- data/lib/cucumber/formatter/ignore_missing_messages.rb +2 -4
- data/lib/cucumber/formatter/interceptor.rb +10 -12
- data/lib/cucumber/formatter/io.rb +19 -12
- data/lib/cucumber/formatter/json.rb +106 -112
- data/lib/cucumber/formatter/junit.rb +81 -76
- data/lib/cucumber/formatter/message.rb +22 -0
- data/lib/cucumber/formatter/message_builder.rb +241 -0
- data/lib/cucumber/formatter/pretty.rb +353 -153
- data/lib/cucumber/formatter/progress.rb +30 -33
- 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 +4 -5
- data/lib/cucumber/formatter/summary.rb +18 -11
- data/lib/cucumber/formatter/unicode.rb +16 -18
- data/lib/cucumber/formatter/usage.rb +30 -26
- 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/glue/dsl.rb +13 -26
- data/lib/cucumber/glue/hook.rb +35 -11
- data/lib/cucumber/glue/invoke_in_world.rb +15 -20
- data/lib/cucumber/glue/proto_world.rb +48 -42
- data/lib/cucumber/glue/registry_and_more.rb +58 -23
- data/lib/cucumber/glue/snippet.rb +23 -26
- data/lib/cucumber/glue/step_definition.rb +51 -28
- data/lib/cucumber/glue/world_factory.rb +2 -4
- data/lib/cucumber/hooks.rb +27 -17
- data/lib/cucumber/load_path.rb +1 -0
- data/lib/cucumber/multiline_argument.rb +7 -17
- data/lib/cucumber/multiline_argument/data_table.rb +113 -82
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +8 -12
- data/lib/cucumber/multiline_argument/doc_string.rb +2 -1
- data/lib/cucumber/platform.rb +4 -3
- data/lib/cucumber/project_initializer.rb +2 -2
- data/lib/cucumber/rake/task.rb +28 -21
- data/lib/cucumber/rspec/disable_option_parser.rb +10 -8
- data/lib/cucumber/rspec/doubles.rb +1 -0
- data/lib/cucumber/running_test_case.rb +4 -54
- data/lib/cucumber/runtime.rb +32 -63
- data/lib/cucumber/runtime/after_hooks.rb +9 -4
- data/lib/cucumber/runtime/before_hooks.rb +9 -4
- data/lib/cucumber/runtime/for_programming_languages.rb +12 -9
- data/lib/cucumber/runtime/step_hooks.rb +5 -2
- data/lib/cucumber/runtime/support_code.rb +16 -22
- data/lib/cucumber/runtime/user_interface.rb +12 -23
- data/lib/cucumber/step_definition_light.rb +6 -4
- data/lib/cucumber/step_definitions.rb +3 -2
- data/lib/cucumber/step_match.rb +29 -14
- data/lib/cucumber/step_match_search.rb +10 -10
- 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 +1 -0
- metadata +206 -678
- data/.coveralls.yml +0 -1
- data/.cucumberproignore +0 -6
- data/.github/ISSUE_TEMPLATE.md +0 -48
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -39
- data/.rspec +0 -1
- data/.rubocop.yml +0 -13
- data/.rubocop_todo.yml +0 -1075
- data/.ruby-gemset +0 -1
- data/.travis.yml +0 -69
- data/.yardopts +0 -1
- data/Gemfile +0 -28
- data/Rakefile +0 -32
- data/appveyor.yml +0 -26
- data/cucumber.gemspec +0 -52
- data/cucumber.yml +0 -19
- 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 -64
- data/features/docs/api/listen_for_events.feature +0 -59
- data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -27
- data/features/docs/cli/backtraces.feature +0 -36
- data/features/docs/cli/dry_run.feature +0 -73
- 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 -48
- data/features/docs/cli/finding_steps.feature +0 -28
- data/features/docs/cli/help.feature +0 -8
- data/features/docs/cli/i18n.feature +0 -42
- 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 -92
- data/features/docs/cli/run_scenarios_matching_name.feature +0 -105
- 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 -68
- data/features/docs/cli/strict_mode.feature +0 -70
- data/features/docs/defining_steps/nested_steps.feature +0 -181
- data/features/docs/defining_steps/nested_steps_i18n.feature +0 -37
- data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -56
- 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 -31
- data/features/docs/defining_steps/snippets.feature +0 -56
- data/features/docs/defining_steps/table_diffing.feature +0 -50
- data/features/docs/events/gherkin_source_read_event.feature +0 -43
- data/features/docs/events/step_activated_event.feature +0 -36
- data/features/docs/events/step_definition_registered_event.feature +0 -29
- data/features/docs/events/test_case_finished_event.feature +0 -35
- data/features/docs/events/test_case_starting_event.feature +0 -54
- data/features/docs/events/test_run_finished_event.feature +0 -40
- data/features/docs/events/test_run_starting_event.feature +0 -41
- data/features/docs/events/test_step_finished_event.feature +0 -47
- data/features/docs/events/test_step_starting_event.feature +0 -43
- data/features/docs/exception_in_after_hook.feature +0 -127
- data/features/docs/exception_in_after_step_hook.feature +0 -104
- data/features/docs/exception_in_around_hook.feature +0 -80
- data/features/docs/exception_in_before_hook.feature +0 -98
- data/features/docs/extending_cucumber/custom_filter.feature +0 -29
- data/features/docs/extending_cucumber/custom_formatter.feature +0 -122
- data/features/docs/formatters/api_methods.feature +0 -37
- 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 -455
- data/features/docs/formatters/pretty_formatter.feature +0 -74
- data/features/docs/formatters/progress_formatter.feature +0 -32
- data/features/docs/formatters/rerun_formatter.feature +0 -190
- data/features/docs/formatters/summary_formatter.feature +0 -35
- data/features/docs/formatters/usage_formatter.feature +0 -101
- data/features/docs/getting_started.feature +0 -28
- data/features/docs/gherkin/background.feature +0 -548
- data/features/docs/gherkin/doc_strings.feature +0 -76
- data/features/docs/gherkin/expand_option_for_outlines.feature +0 -47
- data/features/docs/gherkin/language_from_header.feature +0 -32
- data/features/docs/gherkin/outlines.feature +0 -160
- data/features/docs/gherkin/unicode_table.feature +0 -33
- data/features/docs/gherkin/using_descriptions.feature +0 -83
- 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 -146
- data/features/docs/raketask.feature +0 -46
- data/features/docs/work_in_progress.feature +0 -157
- data/features/docs/writing_support_code/after_hooks.feature +0 -102
- data/features/docs/writing_support_code/after_step_hooks.feature +0 -55
- data/features/docs/writing_support_code/around_hooks.feature +0 -266
- data/features/docs/writing_support_code/before_hook.feature +0 -66
- data/features/docs/writing_support_code/hook_order.feature +0 -63
- data/features/docs/writing_support_code/load_path.feature +0 -17
- data/features/docs/writing_support_code/parameter_types.feature +0 -75
- 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/world.feature +0 -129
- data/features/lib/step_definitions/aruba_steps.rb +0 -21
- data/features/lib/step_definitions/cli_steps.rb +0 -4
- data/features/lib/step_definitions/cucumber_steps.rb +0 -75
- 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/support/env.rb +0 -22
- data/features/lib/support/fake_wire_server.rb +0 -86
- data/features/lib/support/feature_factory.rb +0 -68
- data/features/lib/support/normalise_output.rb +0 -52
- data/features/lib/support/parameter_types.rb +0 -8
- data/gem_tasks/contributors.rake +0 -19
- data/gem_tasks/cov.rake +0 -6
- data/gem_tasks/downloads.rb +0 -8
- data/gem_tasks/environment.rake +0 -4
- 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/formatter/cucumber.css +0 -286
- data/lib/cucumber/formatter/cucumber.sass +0 -247
- data/lib/cucumber/formatter/hook_query_visitor.rb +0 -41
- data/lib/cucumber/formatter/html_builder.rb +0 -110
- data/lib/cucumber/formatter/inline-js.js +0 -30
- 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 -386
- data/lib/cucumber/formatter/legacy_api/results.rb +0 -50
- data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +0 -32
- data/lib/cucumber/step_argument.rb +0 -24
- data/scripts/invite-collaborator +0 -40
- data/scripts/update-history +0 -83
- data/spec/cucumber/cli/configuration_spec.rb +0 -434
- data/spec/cucumber/cli/main_spec.rb +0 -84
- data/spec/cucumber/cli/options_spec.rb +0 -445
- data/spec/cucumber/cli/profile_loader_spec.rb +0 -66
- 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/events_spec.rb +0 -9
- 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 -98
- 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/backtrace_filter_spec.rb +0 -32
- data/spec/cucumber/formatter/console_counts_spec.rb +0 -14
- 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 -840
- data/spec/cucumber/formatter/junit_spec.rb +0 -251
- 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 -84
- data/spec/cucumber/glue/proto_world_spec.rb +0 -63
- data/spec/cucumber/glue/registry_and_more_spec.rb +0 -213
- data/spec/cucumber/glue/snippet_spec.rb +0 -174
- data/spec/cucumber/glue/step_definition_spec.rb +0 -207
- data/spec/cucumber/hooks_spec.rb +0 -31
- data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -648
- 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/running_test_case_spec.rb +0 -140
- data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -8
- 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 -113
- 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,48 +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
|
-
@todo-windows
|
8
|
-
Scenario: When a scenario fails
|
9
|
-
Given a file named "features/bad.feature" with:
|
10
|
-
"""
|
11
|
-
Feature: Bad
|
12
|
-
Scenario: Failing
|
13
|
-
Given this step fails
|
14
|
-
"""
|
15
|
-
And a file named "features/good.feature" with:
|
16
|
-
"""
|
17
|
-
Feature: Good
|
18
|
-
Scenario: Passing
|
19
|
-
Given this step passes
|
20
|
-
"""
|
21
|
-
And the standard step definitions
|
22
|
-
When I run `cucumber --fail-fast`
|
23
|
-
Then it should fail
|
24
|
-
And the output should contain:
|
25
|
-
"""
|
26
|
-
1 scenario (1 failed)
|
27
|
-
"""
|
28
|
-
|
29
|
-
@todo-windows
|
30
|
-
Scenario: When all the scenarios pass
|
31
|
-
Given a file named "features/first.feature" with:
|
32
|
-
"""
|
33
|
-
Feature: first feature
|
34
|
-
Scenario: foo first
|
35
|
-
Given this step passes
|
36
|
-
Scenario: bar first
|
37
|
-
Given this step passes
|
38
|
-
"""
|
39
|
-
And a file named "features/second.feature" with:
|
40
|
-
"""
|
41
|
-
Feature: second
|
42
|
-
Scenario: foo second
|
43
|
-
Given this step passes
|
44
|
-
Scenario: bar second
|
45
|
-
Given this step passes
|
46
|
-
"""
|
47
|
-
When I run `cucumber --fail-fast`
|
48
|
-
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,42 +0,0 @@
|
|
1
|
-
@needs-many-fonts
|
2
|
-
Feature: i18n
|
3
|
-
|
4
|
-
It's possible to ask cucumber which keywords are used for any
|
5
|
-
particular language by running:
|
6
|
-
|
7
|
-
`cucumber --i18n-keywords <LANG>`
|
8
|
-
|
9
|
-
This will print a table showing all the different words we use for
|
10
|
-
that language, to allow you to easily write features in any language
|
11
|
-
you choose.
|
12
|
-
|
13
|
-
Scenario: Get help for Portuguese language
|
14
|
-
When I run `cucumber --i18n-keywords pt`
|
15
|
-
Then it should pass with:
|
16
|
-
"""
|
17
|
-
| feature | "Funcionalidade", "Característica", "Caracteristica" |
|
18
|
-
| background | "Contexto", "Cenário de Fundo", "Cenario de Fundo", "Fundo" |
|
19
|
-
| scenario | "Cenário", "Cenario" |
|
20
|
-
| scenario_outline | "Esquema do Cenário", "Esquema do Cenario", "Delineação do Cenário", "Delineacao do Cenario" |
|
21
|
-
| examples | "Exemplos", "Cenários", "Cenarios" |
|
22
|
-
| given | "* ", "Dado ", "Dada ", "Dados ", "Dadas " |
|
23
|
-
| when | "* ", "Quando " |
|
24
|
-
| then | "* ", "Então ", "Entao " |
|
25
|
-
| and | "* ", "E " |
|
26
|
-
| but | "* ", "Mas " |
|
27
|
-
| given (code) | "Dado", "Dada", "Dados", "Dadas" |
|
28
|
-
| when (code) | "Quando" |
|
29
|
-
| then (code) | "Então", "Entao" |
|
30
|
-
| and (code) | "E" |
|
31
|
-
| but (code) | "Mas" |
|
32
|
-
|
33
|
-
"""
|
34
|
-
|
35
|
-
Scenario: List languages
|
36
|
-
When I run `cucumber --i18n-languages`
|
37
|
-
Then cucumber lists all the supported languages
|
38
|
-
|
39
|
-
Scenario: Seek help for invalid language
|
40
|
-
When I run `cucumber --i18n-keywords foo`
|
41
|
-
Then the output includes the message "Invalid language 'foo'"
|
42
|
-
And cucumber lists all the supported languages
|
@@ -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 @todo-windows
|
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 @todo-windows
|
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,92 +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
|
-
|
18
|
-
@todo-windows
|
19
|
-
Scenario: Retry once, so Fails-once starts to pass
|
20
|
-
Given a scenario "Fails-forever" that fails
|
21
|
-
When I run `cucumber -q --retry 1 --format summary`
|
22
|
-
Then it should fail with:
|
23
|
-
"""
|
24
|
-
4 scenarios (2 failed, 1 flaky, 1 passed)
|
25
|
-
"""
|
26
|
-
And it should fail with:
|
27
|
-
"""
|
28
|
-
Fails-forever
|
29
|
-
Fails-forever ✗
|
30
|
-
Fails-forever ✗
|
31
|
-
|
32
|
-
Solid
|
33
|
-
Solid ✓
|
34
|
-
|
35
|
-
Fails-once feature
|
36
|
-
Fails-once ✗
|
37
|
-
Fails-once ✓
|
38
|
-
|
39
|
-
Fails-twice feature
|
40
|
-
Fails-twice ✗
|
41
|
-
Fails-twice ✗
|
42
|
-
"""
|
43
|
-
|
44
|
-
@todo-windows
|
45
|
-
Scenario: Retry twice, so Fails-twice starts to pass too
|
46
|
-
Given a scenario "Fails-forever" that fails
|
47
|
-
When I run `cucumber -q --retry 2 --format summary`
|
48
|
-
Then it should fail with:
|
49
|
-
"""
|
50
|
-
4 scenarios (1 failed, 2 flaky, 1 passed)
|
51
|
-
"""
|
52
|
-
And it should fail with:
|
53
|
-
"""
|
54
|
-
Fails-forever
|
55
|
-
Fails-forever ✗
|
56
|
-
Fails-forever ✗
|
57
|
-
Fails-forever ✗
|
58
|
-
|
59
|
-
Solid
|
60
|
-
Solid ✓
|
61
|
-
|
62
|
-
Fails-once feature
|
63
|
-
Fails-once ✗
|
64
|
-
Fails-once ✓
|
65
|
-
|
66
|
-
Fails-twice feature
|
67
|
-
Fails-twice ✗
|
68
|
-
Fails-twice ✗
|
69
|
-
Fails-twice ✓
|
70
|
-
"""
|
71
|
-
|
72
|
-
@todo-windows
|
73
|
-
Scenario: Flaky scenarios gives exit code zero in non-strict mode
|
74
|
-
When I run `cucumber -q --retry 2 --format summary`
|
75
|
-
Then it should pass with:
|
76
|
-
"""
|
77
|
-
|
78
|
-
|
79
|
-
3 scenarios (2 flaky, 1 passed)
|
80
|
-
"""
|
81
|
-
|
82
|
-
@todo-windows
|
83
|
-
Scenario: Flaky scenarios gives non-zero exit code in strict mode
|
84
|
-
When I run `cucumber -q --retry 2 --format summary --strict`
|
85
|
-
Then it should fail with:
|
86
|
-
"""
|
87
|
-
Flaky Scenarios:
|
88
|
-
cucumber features/fails_once.feature:2
|
89
|
-
cucumber features/fails_twice.feature:2
|
90
|
-
|
91
|
-
3 scenarios (2 flaky, 1 passed)
|
92
|
-
"""
|
@@ -1,105 +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
|
-
@todo-windows
|
37
|
-
Scenario: Matching Feature names
|
38
|
-
When I run `cucumber -q --name feature`
|
39
|
-
Then it should pass with:
|
40
|
-
"""
|
41
|
-
Feature: first feature
|
42
|
-
|
43
|
-
Scenario: foo first
|
44
|
-
Given missing
|
45
|
-
|
46
|
-
Scenario: bar first
|
47
|
-
Given missing
|
48
|
-
|
49
|
-
2 scenarios (2 undefined)
|
50
|
-
2 steps (2 undefined)
|
51
|
-
"""
|
52
|
-
|
53
|
-
Scenario: Matching Scenario names
|
54
|
-
When I run `cucumber -q --name foo`
|
55
|
-
Then it should pass with:
|
56
|
-
"""
|
57
|
-
Feature: first feature
|
58
|
-
|
59
|
-
Scenario: foo first
|
60
|
-
Given missing
|
61
|
-
|
62
|
-
Feature: second
|
63
|
-
|
64
|
-
Scenario: foo second
|
65
|
-
Given missing
|
66
|
-
|
67
|
-
2 scenarios (2 undefined)
|
68
|
-
2 steps (2 undefined)
|
69
|
-
"""
|
70
|
-
|
71
|
-
Scenario: Matching Scenario Outline names
|
72
|
-
When I run `cucumber -q --name baz`
|
73
|
-
Then it should pass with:
|
74
|
-
"""
|
75
|
-
Feature: outline
|
76
|
-
|
77
|
-
Scenario Outline: baz outline
|
78
|
-
Given outline step <name>
|
79
|
-
|
80
|
-
Examples: quux example
|
81
|
-
| name |
|
82
|
-
| a |
|
83
|
-
| b |
|
84
|
-
|
85
|
-
2 scenarios (2 undefined)
|
86
|
-
2 steps (2 undefined)
|
87
|
-
"""
|
88
|
-
|
89
|
-
Scenario: Matching Example block names
|
90
|
-
When I run `cucumber -q --name quux`
|
91
|
-
Then it should pass with:
|
92
|
-
"""
|
93
|
-
Feature: outline
|
94
|
-
|
95
|
-
Scenario Outline: baz outline
|
96
|
-
Given outline step <name>
|
97
|
-
|
98
|
-
Examples: quux example
|
99
|
-
| name |
|
100
|
-
| a |
|
101
|
-
| b |
|
102
|
-
|
103
|
-
2 scenarios (2 undefined)
|
104
|
-
2 steps (2 undefined)
|
105
|
-
"""
|