cucumber 3.0.0 → 3.1.0
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 +4 -4
- data/CHANGELOG.md +53 -3
- data/CONTRIBUTING.md +2 -4
- data/README.md +6 -5
- data/lib/cucumber/cli/options.rb +3 -1
- data/lib/cucumber/errors.rb +1 -1
- data/lib/cucumber/events/test_step_finished.rb +0 -2
- data/lib/cucumber/events/test_step_started.rb +0 -2
- data/lib/cucumber/events.rb +0 -1
- data/lib/cucumber/filters/quit.rb +0 -1
- data/lib/cucumber/formatter/html.rb +1 -1
- data/lib/cucumber/formatter/html_builder.rb +1 -1
- data/lib/cucumber/formatter/ignore_missing_messages.rb +0 -1
- data/lib/cucumber/formatter/json.rb +1 -1
- data/lib/cucumber/formatter/json_pretty.rb +0 -1
- data/lib/cucumber/formatter/junit.rb +6 -2
- data/lib/cucumber/formatter/rerun.rb +1 -1
- data/lib/cucumber/formatter/summary.rb +0 -1
- data/lib/cucumber/glue/dsl.rb +6 -2
- data/lib/cucumber/glue/proto_world.rb +2 -0
- data/lib/cucumber/glue/step_definition.rb +1 -1
- data/lib/cucumber/glue/world_factory.rb +1 -1
- data/lib/cucumber/hooks.rb +12 -0
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +0 -1
- data/lib/cucumber/multiline_argument/data_table.rb +6 -10
- data/lib/cucumber/multiline_argument.rb +1 -1
- data/lib/cucumber/step_definitions.rb +1 -1
- data/lib/cucumber/step_match.rb +4 -1
- data/lib/cucumber/step_match_search.rb +1 -1
- data/lib/cucumber/version +1 -1
- metadata +32 -571
- data/.coveralls.yml +0 -1
- data/.cucumberproignore +0 -6
- data/.gitattributes +0 -32
- data/.github/ISSUE_TEMPLATE.md +0 -48
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -40
- data/.rspec +0 -1
- data/.rubocop.yml +0 -13
- data/.rubocop_todo.yml +0 -991
- 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 -27
- 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 -29
- 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 -10
- data/examples/i18n/bg/features/support/world.rb +0 -8
- data/examples/i18n/bg/lib/calculator.rb +0 -25
- data/examples/i18n/ca/Rakefile +0 -6
- data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -26
- 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 -29
- 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 -29
- 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 -29
- 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 -29
- data/examples/i18n/el/lib/calculator.rb +0 -14
- 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 -29
- data/examples/i18n/en/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 -11
- data/examples/i18n/en-lol/lib/basket.rb +0 -12
- data/examples/i18n/en-lol/lib/belly.rb +0 -11
- 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 -29
- 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 -26
- 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 -29
- 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 -29
- 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 -10
- 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 -29
- 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 -29
- 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 -29
- 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 -30
- 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 -29
- 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 -29
- 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 -10
- 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 -29
- 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 -29
- 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 -29
- 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 -11
- 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 -29
- data/examples/i18n/pl/features/support/env.rb +0 -10
- 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 -10
- 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 -26
- 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 -10
- data/examples/i18n/ru/features/support/world.rb +0 -8
- data/examples/i18n/ru/lib/calculator.rb +0 -25
- 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 -29
- 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 -10
- 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 -29
- 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 -29
- 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 -29
- 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 -10
- data/examples/i18n/uk/features/support/world.rb +0 -8
- data/examples/i18n/uk/lib/calculator.rb +0 -25
- 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 -10
- data/examples/i18n/uz/features/support/world.rb +0 -8
- data/examples/i18n/uz/lib/calculator.rb +0 -25
- 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 -31
- 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 -29
- 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 -15
- 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 -7
- 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 -27
- data/examples/watir/features/support/env.rb +0 -39
- 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 -119
- 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/ambiguous_steps.feature +0 -89
- 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_started_event.feature +0 -54
- data/features/docs/events/test_run_finished_event.feature +0 -40
- data/features/docs/events/test_run_started_event.feature +0 -41
- data/features/docs/events/test_step_finished_event.feature +0 -47
- data/features/docs/events/test_step_started_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 -94
- data/features/docs/formatters/api_methods.feature +0 -37
- 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 -158
- 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 -53
- 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 -16
- 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 -94
- 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 -5
- 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 -22
- 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/scripts/invite-collaborator +0 -40
- data/scripts/update-changelog +0 -86
- data/spec/cucumber/cli/configuration_spec.rb +0 -446
- 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 -815
- data/spec/cucumber/formatter/junit_spec.rb +0 -251
- data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2175
- data/spec/cucumber/formatter/pretty_spec.rb +0 -907
- 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 -653
- data/spec/cucumber/project_initializer_spec.rb +0 -88
- data/spec/cucumber/rake/forked_spec.rb +0 -58
- 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,158 +0,0 @@
|
|
|
1
|
-
@spawn
|
|
2
|
-
Feature: Scenario outlines
|
|
3
|
-
|
|
4
|
-
Copying and pasting scenarios to use different values quickly
|
|
5
|
-
becomes tedious and repetitive. Scenario outlines allow us to more
|
|
6
|
-
concisely express these examples through the use of a template with
|
|
7
|
-
placeholders, using Scenario Outline, Examples with tables and < >
|
|
8
|
-
delimited parameters.
|
|
9
|
-
|
|
10
|
-
The Scenario Outline steps provide a template which is never directly
|
|
11
|
-
run. A Scenario Outline is run once for each row in the Examples section
|
|
12
|
-
beneath it (not counting the first row).
|
|
13
|
-
|
|
14
|
-
The way this works is via placeholders. Placeholders must be contained
|
|
15
|
-
within < > in the Scenario Outline's steps - see the examples below.
|
|
16
|
-
|
|
17
|
-
**IMPORTANT:** Your step definitions will never have to match a
|
|
18
|
-
placeholder. They will need to match the values that will replace the
|
|
19
|
-
placeholder.
|
|
20
|
-
|
|
21
|
-
Background:
|
|
22
|
-
Given a file named "features/outline_sample.feature" with:
|
|
23
|
-
"""
|
|
24
|
-
Feature: Outline Sample
|
|
25
|
-
|
|
26
|
-
Scenario: I have no steps
|
|
27
|
-
|
|
28
|
-
Scenario Outline: Test state
|
|
29
|
-
Given <state> without a table
|
|
30
|
-
Given <other_state> without a table
|
|
31
|
-
Examples: Rainbow colours
|
|
32
|
-
| state | other_state |
|
|
33
|
-
| missing | passing |
|
|
34
|
-
| passing | passing |
|
|
35
|
-
| failing | passing |
|
|
36
|
-
Examples:Only passing
|
|
37
|
-
| state | other_state |
|
|
38
|
-
| passing | passing |
|
|
39
|
-
"""
|
|
40
|
-
And a file named "features/step_definitions/steps.rb" with:
|
|
41
|
-
"""
|
|
42
|
-
Given(/^passing without a table$/) { }
|
|
43
|
-
Given(/^failing without a table$/) { raise RuntimeError }
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
@todo-windows
|
|
47
|
-
Scenario: Run scenario outline with filtering on outline name
|
|
48
|
-
When I run `cucumber -q features/outline_sample.feature`
|
|
49
|
-
Then it should fail with:
|
|
50
|
-
"""
|
|
51
|
-
Feature: Outline Sample
|
|
52
|
-
|
|
53
|
-
Scenario Outline: Test state
|
|
54
|
-
Given <state> without a table
|
|
55
|
-
Given <other_state> without a table
|
|
56
|
-
|
|
57
|
-
Examples: Rainbow colours
|
|
58
|
-
| state | other_state |
|
|
59
|
-
| missing | passing |
|
|
60
|
-
| passing | passing |
|
|
61
|
-
| failing | passing |
|
|
62
|
-
RuntimeError (RuntimeError)
|
|
63
|
-
./features/step_definitions/steps.rb:2:in `/^failing without a table$/'
|
|
64
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
|
65
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
|
66
|
-
|
|
67
|
-
Examples: Only passing
|
|
68
|
-
| state | other_state |
|
|
69
|
-
| passing | passing |
|
|
70
|
-
|
|
71
|
-
Failing Scenarios:
|
|
72
|
-
cucumber features/outline_sample.feature:12
|
|
73
|
-
|
|
74
|
-
4 scenarios (1 failed, 1 undefined, 2 passed)
|
|
75
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
|
76
|
-
"""
|
|
77
|
-
|
|
78
|
-
@todo-windows
|
|
79
|
-
Scenario: Run scenario outline steps only
|
|
80
|
-
When I run `cucumber -q features/outline_sample.feature:7`
|
|
81
|
-
Then it should fail with:
|
|
82
|
-
"""
|
|
83
|
-
Feature: Outline Sample
|
|
84
|
-
|
|
85
|
-
Scenario Outline: Test state
|
|
86
|
-
Given <state> without a table
|
|
87
|
-
Given <other_state> without a table
|
|
88
|
-
|
|
89
|
-
Examples: Rainbow colours
|
|
90
|
-
| state | other_state |
|
|
91
|
-
| missing | passing |
|
|
92
|
-
| passing | passing |
|
|
93
|
-
| failing | passing |
|
|
94
|
-
RuntimeError (RuntimeError)
|
|
95
|
-
./features/step_definitions/steps.rb:2:in `/^failing without a table$/'
|
|
96
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
|
97
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
|
98
|
-
|
|
99
|
-
Examples: Only passing
|
|
100
|
-
| state | other_state |
|
|
101
|
-
| passing | passing |
|
|
102
|
-
|
|
103
|
-
Failing Scenarios:
|
|
104
|
-
cucumber features/outline_sample.feature:12
|
|
105
|
-
|
|
106
|
-
4 scenarios (1 failed, 1 undefined, 2 passed)
|
|
107
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
|
108
|
-
|
|
109
|
-
"""
|
|
110
|
-
|
|
111
|
-
@todo-windows
|
|
112
|
-
Scenario: Run single failing scenario outline table row
|
|
113
|
-
When I run `cucumber -q features/outline_sample.feature:12`
|
|
114
|
-
Then it should fail with:
|
|
115
|
-
"""
|
|
116
|
-
Feature: Outline Sample
|
|
117
|
-
|
|
118
|
-
Scenario Outline: Test state
|
|
119
|
-
Given <state> without a table
|
|
120
|
-
Given <other_state> without a table
|
|
121
|
-
|
|
122
|
-
Examples: Rainbow colours
|
|
123
|
-
| state | other_state |
|
|
124
|
-
| failing | passing |
|
|
125
|
-
RuntimeError (RuntimeError)
|
|
126
|
-
./features/step_definitions/steps.rb:2:in `/^failing without a table$/'
|
|
127
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
|
128
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
|
129
|
-
|
|
130
|
-
Failing Scenarios:
|
|
131
|
-
cucumber features/outline_sample.feature:12
|
|
132
|
-
|
|
133
|
-
1 scenario (1 failed)
|
|
134
|
-
2 steps (1 failed, 1 skipped)
|
|
135
|
-
|
|
136
|
-
"""
|
|
137
|
-
|
|
138
|
-
@todo-windows
|
|
139
|
-
Scenario: Run all with progress formatter
|
|
140
|
-
When I run `cucumber -q --format progress features/outline_sample.feature`
|
|
141
|
-
Then it should fail with exactly:
|
|
142
|
-
"""
|
|
143
|
-
U-..F-..
|
|
144
|
-
|
|
145
|
-
(::) failed steps (::)
|
|
146
|
-
|
|
147
|
-
RuntimeError (RuntimeError)
|
|
148
|
-
./features/step_definitions/steps.rb:2:in `/^failing without a table$/'
|
|
149
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
|
150
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
|
151
|
-
|
|
152
|
-
Failing Scenarios:
|
|
153
|
-
cucumber features/outline_sample.feature:12
|
|
154
|
-
|
|
155
|
-
4 scenarios (1 failed, 1 undefined, 2 passed)
|
|
156
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
|
157
|
-
|
|
158
|
-
"""
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
@spawn @wip-jruby
|
|
2
|
-
Feature: Unicode in tables
|
|
3
|
-
|
|
4
|
-
You are free to use unicode in your tables: we've taken care to
|
|
5
|
-
ensure that the tables are properly aligned so that your output is as
|
|
6
|
-
readable as possible.
|
|
7
|
-
|
|
8
|
-
@todo-windows
|
|
9
|
-
Scenario:
|
|
10
|
-
Given a file named "features/unicode.feature" with:
|
|
11
|
-
"""
|
|
12
|
-
Feature: Featuring unicode
|
|
13
|
-
|
|
14
|
-
Scenario: table with unicode
|
|
15
|
-
Given passing
|
|
16
|
-
| Brüno | abc |
|
|
17
|
-
| Bruno | æøå |
|
|
18
|
-
"""
|
|
19
|
-
When I run `cucumber -q --dry-run features/unicode.feature`
|
|
20
|
-
Then it should pass with:
|
|
21
|
-
"""
|
|
22
|
-
Feature: Featuring unicode
|
|
23
|
-
|
|
24
|
-
Scenario: table with unicode
|
|
25
|
-
Given passing
|
|
26
|
-
| Brüno | abc |
|
|
27
|
-
| Bruno | æøå |
|
|
28
|
-
|
|
29
|
-
1 scenario (1 undefined)
|
|
30
|
-
1 step (1 undefined)
|
|
31
|
-
|
|
32
|
-
"""
|
|
33
|
-
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
@todo-windows
|
|
2
|
-
Feature: Using descriptions to give features context
|
|
3
|
-
|
|
4
|
-
When writing your feature files its very helpful to use description
|
|
5
|
-
text at the beginning of the feature file, to write a preamble to the
|
|
6
|
-
feature describing clearly exactly what the feature does.
|
|
7
|
-
|
|
8
|
-
You can also write descriptions attached to individual scenarios - see
|
|
9
|
-
the examples below for how this can be used.
|
|
10
|
-
|
|
11
|
-
It's possible to have your descriptions run over more than one line,
|
|
12
|
-
and you can have blank lines too. As long as you don't start a line
|
|
13
|
-
with a Given, When, Then, Background:, Scenario: or similar, you're
|
|
14
|
-
fine: otherwise Gherkin will start to pay attention.
|
|
15
|
-
|
|
16
|
-
Background:
|
|
17
|
-
Given the standard step definitions
|
|
18
|
-
|
|
19
|
-
Scenario: Everything with a description
|
|
20
|
-
Given a file named "features/test.feature" with:
|
|
21
|
-
"""
|
|
22
|
-
Feature: descriptions everywhere
|
|
23
|
-
|
|
24
|
-
We can put a useful description here of the feature, which can
|
|
25
|
-
span multiple lines.
|
|
26
|
-
|
|
27
|
-
Background:
|
|
28
|
-
|
|
29
|
-
We can also put in descriptions showing what the background is
|
|
30
|
-
doing.
|
|
31
|
-
|
|
32
|
-
Given this step passes
|
|
33
|
-
|
|
34
|
-
Scenario: I'm a scenario with a description
|
|
35
|
-
|
|
36
|
-
You can also put descriptions in front of individual scenarios.
|
|
37
|
-
|
|
38
|
-
Given this step passes
|
|
39
|
-
|
|
40
|
-
Scenario Outline: I'm a scenario outline with a description
|
|
41
|
-
|
|
42
|
-
Scenario outlines can have descriptions.
|
|
43
|
-
|
|
44
|
-
Given this step <state>
|
|
45
|
-
Examples: Examples
|
|
46
|
-
|
|
47
|
-
Specific examples for an outline are allowed to have
|
|
48
|
-
descriptions, too.
|
|
49
|
-
|
|
50
|
-
| state |
|
|
51
|
-
| passes |
|
|
52
|
-
"""
|
|
53
|
-
When I run `cucumber -q`
|
|
54
|
-
Then the stderr should not contain anything
|
|
55
|
-
Then it should pass with exactly:
|
|
56
|
-
"""
|
|
57
|
-
Feature: descriptions everywhere
|
|
58
|
-
We can put a useful description here of the feature, which can
|
|
59
|
-
span multiple lines.
|
|
60
|
-
|
|
61
|
-
Background:
|
|
62
|
-
We can also put in descriptions showing what the background is
|
|
63
|
-
doing.
|
|
64
|
-
Given this step passes
|
|
65
|
-
|
|
66
|
-
Scenario: I'm a scenario with a description
|
|
67
|
-
You can also put descriptions in front of individual scenarios.
|
|
68
|
-
Given this step passes
|
|
69
|
-
|
|
70
|
-
Scenario Outline: I'm a scenario outline with a description
|
|
71
|
-
Scenario outlines can have descriptions.
|
|
72
|
-
Given this step <state>
|
|
73
|
-
|
|
74
|
-
Examples: Examples
|
|
75
|
-
Specific examples for an outline are allowed to have
|
|
76
|
-
descriptions, too.
|
|
77
|
-
| state |
|
|
78
|
-
| passes |
|
|
79
|
-
|
|
80
|
-
2 scenarios (2 passed)
|
|
81
|
-
4 steps (4 passed)
|
|
82
|
-
|
|
83
|
-
"""
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
Feature: Using star notation instead of Given/When/Then
|
|
2
|
-
|
|
3
|
-
Cucumber supports the star notation when writing features: instead of
|
|
4
|
-
using Given/When/Then, you can simply use a star rather like you would
|
|
5
|
-
use a bullet point.
|
|
6
|
-
|
|
7
|
-
When you run the feature for the first time, you still get a nice
|
|
8
|
-
message showing you the code snippet you need to use to implement the
|
|
9
|
-
step.
|
|
10
|
-
|
|
11
|
-
Scenario: Use some *
|
|
12
|
-
Given a file named "features/f.feature" with:
|
|
13
|
-
"""
|
|
14
|
-
Feature: Star-notation feature
|
|
15
|
-
Scenario: S
|
|
16
|
-
* I have some cukes
|
|
17
|
-
"""
|
|
18
|
-
When I run `cucumber features/f.feature`
|
|
19
|
-
Then the stderr should not contain anything
|
|
20
|
-
And it should pass with:
|
|
21
|
-
"""
|
|
22
|
-
Feature: Star-notation feature
|
|
23
|
-
|
|
24
|
-
Scenario: S # features/f.feature:2
|
|
25
|
-
* I have some cukes # features/f.feature:3
|
|
26
|
-
|
|
27
|
-
1 scenario (1 undefined)
|
|
28
|
-
1 step (1 undefined)
|
|
29
|
-
"""
|
|
30
|
-
And it should pass with:
|
|
31
|
-
"""
|
|
32
|
-
You can implement step definitions for undefined steps with these snippets:
|
|
33
|
-
|
|
34
|
-
Given("I have some cukes") do
|
|
35
|
-
pending # Write code here that turns the phrase above into concrete actions
|
|
36
|
-
end
|
|
37
|
-
"""
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
Feature: Post Configuration Hook [#423]
|
|
2
|
-
|
|
3
|
-
In order to extend Cucumber
|
|
4
|
-
As a developer
|
|
5
|
-
I want to manipulate the Cucumber configuration after it has been created
|
|
6
|
-
|
|
7
|
-
Scenario: Changing the output format
|
|
8
|
-
Given a file named "features/support/env.rb" with:
|
|
9
|
-
"""
|
|
10
|
-
AfterConfiguration do |config|
|
|
11
|
-
config.formats << ['html', {}, config.out_stream]
|
|
12
|
-
end
|
|
13
|
-
"""
|
|
14
|
-
When I run `cucumber features`
|
|
15
|
-
Then the stderr should not contain anything
|
|
16
|
-
And the output should contain:
|
|
17
|
-
"""
|
|
18
|
-
html
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
Scenario: feature directories read from configuration
|
|
22
|
-
Given a file named "features/support/env.rb" with:
|
|
23
|
-
"""
|
|
24
|
-
AfterConfiguration do |config|
|
|
25
|
-
config.out_stream << "AfterConfiguration hook read feature directories: #{config.feature_dirs.join(', ')}"
|
|
26
|
-
end
|
|
27
|
-
"""
|
|
28
|
-
When I run `cucumber features`
|
|
29
|
-
Then the stderr should not contain anything
|
|
30
|
-
And the output should contain:
|
|
31
|
-
"""
|
|
32
|
-
AfterConfiguration hook read feature directories: features
|
|
33
|
-
"""
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
Feature: Profiles
|
|
2
|
-
|
|
3
|
-
In order to save time and prevent carpal tunnel syndrome
|
|
4
|
-
Cucumber users can save and reuse commonly used cucumber flags in a 'cucumber.yml' file.
|
|
5
|
-
These named arguments are called profiles and the yml file should be in the root of your project.
|
|
6
|
-
Any cucumber argument is valid in a profile. To see all the available flags type 'cucumber --help'
|
|
7
|
-
For more information about profiles please see the wiki:
|
|
8
|
-
http://wiki.github.com/cucumber/cucumber/cucumber.yml
|
|
9
|
-
|
|
10
|
-
Background: Basic App
|
|
11
|
-
Given a file named "features/sample.feature" with:
|
|
12
|
-
"""
|
|
13
|
-
Feature: Sample
|
|
14
|
-
Scenario: this is a test
|
|
15
|
-
Given this step raises an error
|
|
16
|
-
"""
|
|
17
|
-
And an empty file named "features/support/env.rb"
|
|
18
|
-
And an empty file named "features/support/super_env.rb"
|
|
19
|
-
And the following profiles are defined:
|
|
20
|
-
"""
|
|
21
|
-
default: features/sample.feature --require features/support/env.rb -v
|
|
22
|
-
super: features/sample.feature --require features/support/super_env.rb -v
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
Scenario: Explicitly defining a profile to run
|
|
26
|
-
When I run `cucumber features/sample.feature --profile super`
|
|
27
|
-
Then the output should contain:
|
|
28
|
-
"""
|
|
29
|
-
Using the super profile...
|
|
30
|
-
"""
|
|
31
|
-
And exactly these files should be loaded: features/support/super_env.rb
|
|
32
|
-
|
|
33
|
-
Scenario: Explicitly defining a profile defined in an ERB formatted file
|
|
34
|
-
Given the following profiles are defined:
|
|
35
|
-
"""
|
|
36
|
-
<% requires = "--require features/support/super_env.rb" %>
|
|
37
|
-
super: <%= "features/sample.feature #{requires} -v" %>
|
|
38
|
-
"""
|
|
39
|
-
When I run `cucumber features/sample.feature --profile super`
|
|
40
|
-
Then the output should contain:
|
|
41
|
-
"""
|
|
42
|
-
Using the super profile...
|
|
43
|
-
"""
|
|
44
|
-
And exactly these files should be loaded: features/support/super_env.rb
|
|
45
|
-
|
|
46
|
-
Scenario: Defining multiple profiles to run
|
|
47
|
-
When I run `cucumber features/sample.feature --profile default --profile super`
|
|
48
|
-
Then the output should contain:
|
|
49
|
-
"""
|
|
50
|
-
Using the default and super profiles...
|
|
51
|
-
"""
|
|
52
|
-
And exactly these files should be loaded: features/support/env.rb, features/support/super_env.rb
|
|
53
|
-
|
|
54
|
-
Scenario: Arguments passed in but no profile specified
|
|
55
|
-
When I run `cucumber -v`
|
|
56
|
-
Then the default profile should be used
|
|
57
|
-
And exactly these files should be loaded: features/support/env.rb
|
|
58
|
-
|
|
59
|
-
Scenario: Trying to use a missing profile
|
|
60
|
-
When I run `cucumber -p foo`
|
|
61
|
-
Then the stderr should contain:
|
|
62
|
-
"""
|
|
63
|
-
Could not find profile: 'foo'
|
|
64
|
-
|
|
65
|
-
Defined profiles in cucumber.yml:
|
|
66
|
-
* default
|
|
67
|
-
* super
|
|
68
|
-
|
|
69
|
-
"""
|
|
70
|
-
|
|
71
|
-
Scenario Outline: Disabling the default profile
|
|
72
|
-
When I run `cucumber -v features/ <flag>`
|
|
73
|
-
Then the output should contain:
|
|
74
|
-
"""
|
|
75
|
-
Disabling profiles...
|
|
76
|
-
"""
|
|
77
|
-
And exactly these files should be loaded: features/support/env.rb, features/support/super_env.rb
|
|
78
|
-
|
|
79
|
-
Examples:
|
|
80
|
-
| flag |
|
|
81
|
-
| -P |
|
|
82
|
-
| --no-profile |
|
|
83
|
-
|
|
84
|
-
Scenario: Overriding the profile's features to run
|
|
85
|
-
Given a file named "features/another.feature" with:
|
|
86
|
-
"""
|
|
87
|
-
Feature: Just this one should be run
|
|
88
|
-
"""
|
|
89
|
-
When I run `cucumber -p default features/another.feature`
|
|
90
|
-
Then exactly these features should be run: features/another.feature
|
|
91
|
-
|
|
92
|
-
Scenario: Overriding the profile's formatter
|
|
93
|
-
You will most likely want to define a formatter in your default formatter.
|
|
94
|
-
However, you often want to run your features with a different formatter
|
|
95
|
-
yet still use the other the other arguments in the profile. Cucumber will
|
|
96
|
-
allow you to do this by giving precedence to the formatter specified on the
|
|
97
|
-
command line and override the one in the profile.
|
|
98
|
-
|
|
99
|
-
Given the following profiles are defined:
|
|
100
|
-
"""
|
|
101
|
-
default: features/sample.feature --require features/support/env.rb -v --format profile
|
|
102
|
-
"""
|
|
103
|
-
When I run `cucumber features --format pretty`
|
|
104
|
-
Then the output should contain:
|
|
105
|
-
"""
|
|
106
|
-
Feature: Sample
|
|
107
|
-
"""
|
|
108
|
-
|
|
109
|
-
Scenario Outline: Showing profiles when listing failing scenarios
|
|
110
|
-
Given the standard step definitions
|
|
111
|
-
When I run `cucumber -q -p super -p default -f <format> features/sample.feature --require features/step_definitions/steps.rb`
|
|
112
|
-
Then it should fail with:
|
|
113
|
-
"""
|
|
114
|
-
cucumber -p super features/sample.feature:2
|
|
115
|
-
"""
|
|
116
|
-
|
|
117
|
-
Examples:
|
|
118
|
-
| format |
|
|
119
|
-
| pretty |
|
|
120
|
-
| progress |
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
@spawn
|
|
2
|
-
Feature: Rake task
|
|
3
|
-
In order to ease the development process
|
|
4
|
-
As a developer and CI server administrator
|
|
5
|
-
Cucumber features should be executable via Rake
|
|
6
|
-
|
|
7
|
-
Background:
|
|
8
|
-
And a file named "features/missing_step_definitions.feature" with:
|
|
9
|
-
"""
|
|
10
|
-
Feature: Sample
|
|
11
|
-
|
|
12
|
-
Scenario: Wanted
|
|
13
|
-
Given I want to run this
|
|
14
|
-
|
|
15
|
-
Scenario: Unwanted
|
|
16
|
-
Given I don't want this ran
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
@todo-windows
|
|
20
|
-
Scenario: rake task with a defined profile
|
|
21
|
-
Given the following profile is defined:
|
|
22
|
-
"""
|
|
23
|
-
foo: --quiet --no-color features/missing_step_definitions.feature:3
|
|
24
|
-
"""
|
|
25
|
-
And a file named "Rakefile" with:
|
|
26
|
-
"""
|
|
27
|
-
require 'cucumber/rake/task'
|
|
28
|
-
|
|
29
|
-
Cucumber::Rake::Task.new do |t|
|
|
30
|
-
t.profile = "foo"
|
|
31
|
-
end
|
|
32
|
-
"""
|
|
33
|
-
When I run `rake cucumber`
|
|
34
|
-
Then it should pass with:
|
|
35
|
-
"""
|
|
36
|
-
Feature: Sample
|
|
37
|
-
|
|
38
|
-
Scenario: Wanted
|
|
39
|
-
Given I want to run this
|
|
40
|
-
|
|
41
|
-
1 scenario (1 undefined)
|
|
42
|
-
1 step (1 undefined)
|
|
43
|
-
"""
|
|
44
|
-
|
|
45
|
-
@todo-windows
|
|
46
|
-
Scenario: rake task without a profile
|
|
47
|
-
Given a file named "Rakefile" with:
|
|
48
|
-
"""
|
|
49
|
-
require 'cucumber/rake/task'
|
|
50
|
-
|
|
51
|
-
Cucumber::Rake::Task.new do |t|
|
|
52
|
-
t.cucumber_opts = %w{--quiet --no-color}
|
|
53
|
-
end
|
|
54
|
-
"""
|
|
55
|
-
When I run `rake cucumber`
|
|
56
|
-
Then it should pass with:
|
|
57
|
-
"""
|
|
58
|
-
Feature: Sample
|
|
59
|
-
|
|
60
|
-
Scenario: Wanted
|
|
61
|
-
Given I want to run this
|
|
62
|
-
|
|
63
|
-
Scenario: Unwanted
|
|
64
|
-
Given I don't want this ran
|
|
65
|
-
|
|
66
|
-
2 scenarios (2 undefined)
|
|
67
|
-
2 steps (2 undefined)
|
|
68
|
-
"""
|
|
69
|
-
|
|
70
|
-
@todo-windows
|
|
71
|
-
Scenario: rake task with a defined profile and cucumber_opts
|
|
72
|
-
Given the following profile is defined:
|
|
73
|
-
"""
|
|
74
|
-
bar: ['features/missing_step_definitions.feature:3']
|
|
75
|
-
"""
|
|
76
|
-
And a file named "Rakefile" with:
|
|
77
|
-
"""
|
|
78
|
-
require 'cucumber/rake/task'
|
|
79
|
-
|
|
80
|
-
Cucumber::Rake::Task.new do |t|
|
|
81
|
-
t.profile = "bar"
|
|
82
|
-
t.cucumber_opts = %w{--quiet --no-color}
|
|
83
|
-
end
|
|
84
|
-
"""
|
|
85
|
-
When I run `rake cucumber`
|
|
86
|
-
Then it should pass with:
|
|
87
|
-
"""
|
|
88
|
-
Feature: Sample
|
|
89
|
-
|
|
90
|
-
Scenario: Wanted
|
|
91
|
-
Given I want to run this
|
|
92
|
-
|
|
93
|
-
1 scenario (1 undefined)
|
|
94
|
-
1 step (1 undefined)
|
|
95
|
-
"""
|
|
96
|
-
|
|
97
|
-
@todo-windows
|
|
98
|
-
Scenario: respect requires
|
|
99
|
-
Given an empty file named "features/support/env.rb"
|
|
100
|
-
And an empty file named "features/support/dont_require_me.rb"
|
|
101
|
-
And the following profile is defined:
|
|
102
|
-
"""
|
|
103
|
-
no_bomb: features/missing_step_definitions.feature:3 --require features/support/env.rb --verbose
|
|
104
|
-
"""
|
|
105
|
-
And a file named "Rakefile" with:
|
|
106
|
-
"""
|
|
107
|
-
require 'cucumber/rake/task'
|
|
108
|
-
|
|
109
|
-
Cucumber::Rake::Task.new do |t|
|
|
110
|
-
t.profile = "no_bomb"
|
|
111
|
-
t.cucumber_opts = %w{--quiet --no-color}
|
|
112
|
-
end
|
|
113
|
-
"""
|
|
114
|
-
When I run `rake cucumber`
|
|
115
|
-
Then it should pass
|
|
116
|
-
And the output should not contain:
|
|
117
|
-
"""
|
|
118
|
-
* features/support/dont_require_me.rb
|
|
119
|
-
"""
|
|
120
|
-
|
|
121
|
-
@todo-windows
|
|
122
|
-
Scenario: feature files with spaces
|
|
123
|
-
Given a file named "features/spaces are nasty.feature" with:
|
|
124
|
-
"""
|
|
125
|
-
Feature: The futures green
|
|
126
|
-
|
|
127
|
-
Scenario: Orange
|
|
128
|
-
Given this is missing
|
|
129
|
-
"""
|
|
130
|
-
And a file named "Rakefile" with:
|
|
131
|
-
"""
|
|
132
|
-
require 'cucumber/rake/task'
|
|
133
|
-
|
|
134
|
-
Cucumber::Rake::Task.new do |t|
|
|
135
|
-
t.cucumber_opts = %w{--quiet --no-color}
|
|
136
|
-
end
|
|
137
|
-
"""
|
|
138
|
-
When I run `rake cucumber`
|
|
139
|
-
Then it should pass with:
|
|
140
|
-
"""
|
|
141
|
-
Feature: The futures green
|
|
142
|
-
|
|
143
|
-
Scenario: Orange
|
|
144
|
-
Given this is missing
|
|
145
|
-
|
|
146
|
-
"""
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
@spawn @wip-jruby
|
|
2
|
-
Feature: Raketask
|
|
3
|
-
|
|
4
|
-
In order to use cucumber's rake task
|
|
5
|
-
As a Cuker
|
|
6
|
-
I do not want to see rake's backtraces when it fails
|
|
7
|
-
Also I want to get zero exit status code on failures
|
|
8
|
-
And non-zero exit status code when it pases
|
|
9
|
-
|
|
10
|
-
Background:
|
|
11
|
-
Given the standard step definitions
|
|
12
|
-
Given a file named "features/passing_and_failing.feature" with:
|
|
13
|
-
"""
|
|
14
|
-
Feature: Sample
|
|
15
|
-
|
|
16
|
-
Scenario: Passing
|
|
17
|
-
Given this step passes
|
|
18
|
-
|
|
19
|
-
Scenario: Failing
|
|
20
|
-
Given this step raises an error
|
|
21
|
-
"""
|
|
22
|
-
Given a file named "Rakefile" with:
|
|
23
|
-
"""
|
|
24
|
-
require 'cucumber/rake/task'
|
|
25
|
-
|
|
26
|
-
SAMPLE_FEATURE_FILE = 'features/passing_and_failing.feature'
|
|
27
|
-
|
|
28
|
-
Cucumber::Rake::Task.new(:pass) do |t|
|
|
29
|
-
t.cucumber_opts = "#{SAMPLE_FEATURE_FILE}:3"
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
Cucumber::Rake::Task.new(:fail) do |t|
|
|
33
|
-
t.cucumber_opts = "#{SAMPLE_FEATURE_FILE}:6"
|
|
34
|
-
end
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
@todo-windows
|
|
38
|
-
Scenario: Passing feature
|
|
39
|
-
When I run `bundle exec rake pass`
|
|
40
|
-
Then the exit status should be 0
|
|
41
|
-
|
|
42
|
-
@todo-windows
|
|
43
|
-
Scenario: Failing feature
|
|
44
|
-
When I run `bundle exec rake fail`
|
|
45
|
-
Then the exit status should be 1
|
|
46
|
-
But the output should not contain "rake aborted!"
|