busser-behave 0.1.3
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 +7 -0
- data/.cane +0 -0
- data/.gitignore +17 -0
- data/.tailor +4 -0
- data/.travis.yml +11 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +3 -0
- data/LICENSE +15 -0
- data/README.md +41 -0
- data/Rakefile +68 -0
- data/busser-behave.gemspec +30 -0
- data/features/plugin_install_command.feature +11 -0
- data/features/plugin_list_command.feature +8 -0
- data/features/support/env.rb +13 -0
- data/features/test_command.feature +31 -0
- data/lib/busser/behave/version.rb +26 -0
- data/lib/busser/runner_plugin/behave.rb +37 -0
- data/vendor/behave/CHANGES.rst +483 -0
- data/vendor/behave/LICENSE +23 -0
- data/vendor/behave/MANIFEST.in +37 -0
- data/vendor/behave/PROJECT_INFO.rst +21 -0
- data/vendor/behave/README.rst +112 -0
- data/vendor/behave/VERSION.txt +1 -0
- data/vendor/behave/behave.ini +22 -0
- data/vendor/behave/behave/__init__.py +30 -0
- data/vendor/behave/behave/__main__.py +187 -0
- data/vendor/behave/behave/_stepimport.py +185 -0
- data/vendor/behave/behave/_types.py +134 -0
- data/vendor/behave/behave/api/__init__.py +7 -0
- data/vendor/behave/behave/api/async_step.py +283 -0
- data/vendor/behave/behave/capture.py +227 -0
- data/vendor/behave/behave/compat/__init__.py +5 -0
- data/vendor/behave/behave/compat/collections.py +20 -0
- data/vendor/behave/behave/configuration.py +788 -0
- data/vendor/behave/behave/contrib/__init__.py +0 -0
- data/vendor/behave/behave/contrib/scenario_autoretry.py +73 -0
- data/vendor/behave/behave/formatter/__init__.py +12 -0
- data/vendor/behave/behave/formatter/_builtins.py +39 -0
- data/vendor/behave/behave/formatter/_registry.py +135 -0
- data/vendor/behave/behave/formatter/ansi_escapes.py +91 -0
- data/vendor/behave/behave/formatter/base.py +200 -0
- data/vendor/behave/behave/formatter/formatters.py +57 -0
- data/vendor/behave/behave/formatter/json.py +253 -0
- data/vendor/behave/behave/formatter/null.py +12 -0
- data/vendor/behave/behave/formatter/plain.py +158 -0
- data/vendor/behave/behave/formatter/pretty.py +351 -0
- data/vendor/behave/behave/formatter/progress.py +287 -0
- data/vendor/behave/behave/formatter/rerun.py +114 -0
- data/vendor/behave/behave/formatter/sphinx_steps.py +372 -0
- data/vendor/behave/behave/formatter/sphinx_util.py +118 -0
- data/vendor/behave/behave/formatter/steps.py +497 -0
- data/vendor/behave/behave/formatter/tags.py +178 -0
- data/vendor/behave/behave/i18n.py +614 -0
- data/vendor/behave/behave/importer.py +102 -0
- data/vendor/behave/behave/json_parser.py +264 -0
- data/vendor/behave/behave/log_capture.py +233 -0
- data/vendor/behave/behave/matchers.py +402 -0
- data/vendor/behave/behave/model.py +1737 -0
- data/vendor/behave/behave/model_core.py +416 -0
- data/vendor/behave/behave/model_describe.py +105 -0
- data/vendor/behave/behave/parser.py +615 -0
- data/vendor/behave/behave/reporter/__init__.py +0 -0
- data/vendor/behave/behave/reporter/base.py +45 -0
- data/vendor/behave/behave/reporter/junit.py +473 -0
- data/vendor/behave/behave/reporter/summary.py +94 -0
- data/vendor/behave/behave/runner.py +753 -0
- data/vendor/behave/behave/runner_util.py +417 -0
- data/vendor/behave/behave/step_registry.py +112 -0
- data/vendor/behave/behave/tag_expression.py +111 -0
- data/vendor/behave/behave/tag_matcher.py +465 -0
- data/vendor/behave/behave/textutil.py +137 -0
- data/vendor/behave/behave/userdata.py +130 -0
- data/vendor/behave/behave4cmd0/__all_steps__.py +12 -0
- data/vendor/behave/behave4cmd0/__init__.py +5 -0
- data/vendor/behave/behave4cmd0/__setup.py +11 -0
- data/vendor/behave/behave4cmd0/command_shell.py +216 -0
- data/vendor/behave/behave4cmd0/command_shell_proc.py +256 -0
- data/vendor/behave/behave4cmd0/command_steps.py +532 -0
- data/vendor/behave/behave4cmd0/command_util.py +147 -0
- data/vendor/behave/behave4cmd0/failing_steps.py +49 -0
- data/vendor/behave/behave4cmd0/log/__init__.py +1 -0
- data/vendor/behave/behave4cmd0/log/steps.py +395 -0
- data/vendor/behave/behave4cmd0/note_steps.py +29 -0
- data/vendor/behave/behave4cmd0/passing_steps.py +36 -0
- data/vendor/behave/behave4cmd0/pathutil.py +146 -0
- data/vendor/behave/behave4cmd0/setup_command_shell.py +24 -0
- data/vendor/behave/behave4cmd0/textutil.py +304 -0
- data/vendor/behave/bin/behave +44 -0
- data/vendor/behave/bin/behave.cmd +10 -0
- data/vendor/behave/bin/behave.junit_filter.py +85 -0
- data/vendor/behave/bin/behave.step_durations.py +163 -0
- data/vendor/behave/bin/behave2cucumber_json.py +63 -0
- data/vendor/behave/bin/behave_cmd.py +44 -0
- data/vendor/behave/bin/convert_i18n_yaml.py +77 -0
- data/vendor/behave/bin/explore_platform_encoding.py +24 -0
- data/vendor/behave/bin/i18n.yml +621 -0
- data/vendor/behave/bin/invoke +8 -0
- data/vendor/behave/bin/invoke.cmd +9 -0
- data/vendor/behave/bin/json.format.py +167 -0
- data/vendor/behave/bin/jsonschema_validate.py +122 -0
- data/vendor/behave/bin/make_localpi.py +279 -0
- data/vendor/behave/bin/project_bootstrap.sh +30 -0
- data/vendor/behave/bin/toxcmd.py +270 -0
- data/vendor/behave/bin/toxcmd3.py +270 -0
- data/vendor/behave/conftest.py +27 -0
- data/vendor/behave/docs/Makefile +154 -0
- data/vendor/behave/docs/_static/agogo.css +501 -0
- data/vendor/behave/docs/_static/behave_logo.png +0 -0
- data/vendor/behave/docs/_static/behave_logo1.png +0 -0
- data/vendor/behave/docs/_static/behave_logo2.png +0 -0
- data/vendor/behave/docs/_static/behave_logo3.png +0 -0
- data/vendor/behave/docs/_themes/LICENSE +45 -0
- data/vendor/behave/docs/_themes/kr/layout.html +17 -0
- data/vendor/behave/docs/_themes/kr/relations.html +19 -0
- data/vendor/behave/docs/_themes/kr/static/flasky.css_t +480 -0
- data/vendor/behave/docs/_themes/kr/static/small_flask.css +90 -0
- data/vendor/behave/docs/_themes/kr/theme.conf +7 -0
- data/vendor/behave/docs/_themes/kr_small/layout.html +22 -0
- data/vendor/behave/docs/_themes/kr_small/static/flasky.css_t +287 -0
- data/vendor/behave/docs/_themes/kr_small/theme.conf +10 -0
- data/vendor/behave/docs/api.rst +408 -0
- data/vendor/behave/docs/appendix.rst +19 -0
- data/vendor/behave/docs/behave.rst +640 -0
- data/vendor/behave/docs/behave.rst-template +86 -0
- data/vendor/behave/docs/behave_ecosystem.rst +81 -0
- data/vendor/behave/docs/comparison.rst +85 -0
- data/vendor/behave/docs/conf.py +293 -0
- data/vendor/behave/docs/context_attributes.rst +66 -0
- data/vendor/behave/docs/django.rst +192 -0
- data/vendor/behave/docs/formatters.rst +61 -0
- data/vendor/behave/docs/gherkin.rst +673 -0
- data/vendor/behave/docs/index.rst +57 -0
- data/vendor/behave/docs/install.rst +60 -0
- data/vendor/behave/docs/more_info.rst +184 -0
- data/vendor/behave/docs/new_and_noteworthy.rst +18 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.4.rst +11 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.5.rst +814 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.6.rst +255 -0
- data/vendor/behave/docs/parse_builtin_types.rst +59 -0
- data/vendor/behave/docs/philosophy.rst +235 -0
- data/vendor/behave/docs/regular_expressions.rst +71 -0
- data/vendor/behave/docs/related.rst +14 -0
- data/vendor/behave/docs/test_domains.rst +62 -0
- data/vendor/behave/docs/tutorial.rst +636 -0
- data/vendor/behave/docs/update_behave_rst.py +100 -0
- data/vendor/behave/etc/json/behave.json-schema +172 -0
- data/vendor/behave/etc/junit.xml/behave_junit.xsd +103 -0
- data/vendor/behave/etc/junit.xml/junit-4.xsd +92 -0
- data/vendor/behave/examples/async_step/README.txt +8 -0
- data/vendor/behave/examples/async_step/behave.ini +14 -0
- data/vendor/behave/examples/async_step/features/async_dispatch.feature +8 -0
- data/vendor/behave/examples/async_step/features/async_run.feature +6 -0
- data/vendor/behave/examples/async_step/features/environment.py +28 -0
- data/vendor/behave/examples/async_step/features/steps/async_dispatch_steps.py +26 -0
- data/vendor/behave/examples/async_step/features/steps/async_steps34.py +10 -0
- data/vendor/behave/examples/async_step/features/steps/async_steps35.py +10 -0
- data/vendor/behave/examples/async_step/testrun_example.async_dispatch.txt +11 -0
- data/vendor/behave/examples/async_step/testrun_example.async_run.txt +9 -0
- data/vendor/behave/examples/env_vars/README.rst +26 -0
- data/vendor/behave/examples/env_vars/behave.ini +15 -0
- data/vendor/behave/examples/env_vars/behave_run.output_example.txt +12 -0
- data/vendor/behave/examples/env_vars/features/env_var.feature +6 -0
- data/vendor/behave/examples/env_vars/features/steps/env_var_steps.py +38 -0
- data/vendor/behave/features/README.txt +12 -0
- data/vendor/behave/features/background.feature +392 -0
- data/vendor/behave/features/capture_stderr.feature +172 -0
- data/vendor/behave/features/capture_stdout.feature +125 -0
- data/vendor/behave/features/cmdline.lang_list.feature +33 -0
- data/vendor/behave/features/configuration.default_paths.feature +116 -0
- data/vendor/behave/features/context.global_params.feature +35 -0
- data/vendor/behave/features/context.local_params.feature +17 -0
- data/vendor/behave/features/directory_layout.advanced.feature +147 -0
- data/vendor/behave/features/directory_layout.basic.feature +75 -0
- data/vendor/behave/features/directory_layout.basic2.feature +87 -0
- data/vendor/behave/features/environment.py +53 -0
- data/vendor/behave/features/exploratory_testing.with_table.feature +141 -0
- data/vendor/behave/features/feature.description.feature +0 -0
- data/vendor/behave/features/feature.exclude_from_run.feature +96 -0
- data/vendor/behave/features/formatter.help.feature +30 -0
- data/vendor/behave/features/formatter.json.feature +420 -0
- data/vendor/behave/features/formatter.progress3.feature +235 -0
- data/vendor/behave/features/formatter.rerun.feature +296 -0
- data/vendor/behave/features/formatter.steps.feature +181 -0
- data/vendor/behave/features/formatter.steps_catalog.feature +100 -0
- data/vendor/behave/features/formatter.steps_doc.feature +140 -0
- data/vendor/behave/features/formatter.steps_usage.feature +404 -0
- data/vendor/behave/features/formatter.tags.feature +134 -0
- data/vendor/behave/features/formatter.tags_location.feature +183 -0
- data/vendor/behave/features/formatter.user_defined.feature +196 -0
- data/vendor/behave/features/i18n.unicode_problems.feature +445 -0
- data/vendor/behave/features/logcapture.clear_handlers.feature +114 -0
- data/vendor/behave/features/logcapture.feature +188 -0
- data/vendor/behave/features/logcapture.filter.feature +130 -0
- data/vendor/behave/features/logging.no_capture.feature +99 -0
- data/vendor/behave/features/logging.setup_format.feature +157 -0
- data/vendor/behave/features/logging.setup_level.feature +168 -0
- data/vendor/behave/features/logging.setup_with_configfile.feature +137 -0
- data/vendor/behave/features/parser.background.sad_cases.feature +129 -0
- data/vendor/behave/features/parser.feature.sad_cases.feature +144 -0
- data/vendor/behave/features/runner.abort_by_user.feature +305 -0
- data/vendor/behave/features/runner.continue_after_failed_step.feature +136 -0
- data/vendor/behave/features/runner.default_format.feature +175 -0
- data/vendor/behave/features/runner.dry_run.feature +184 -0
- data/vendor/behave/features/runner.feature_listfile.feature +223 -0
- data/vendor/behave/features/runner.hook_errors.feature +382 -0
- data/vendor/behave/features/runner.multiple_formatters.feature +285 -0
- data/vendor/behave/features/runner.scenario_autoretry.feature +131 -0
- data/vendor/behave/features/runner.select_files_by_regexp.example.feature +71 -0
- data/vendor/behave/features/runner.select_files_by_regexp.feature +84 -0
- data/vendor/behave/features/runner.select_scenarios_by_file_location.feature +403 -0
- data/vendor/behave/features/runner.select_scenarios_by_name.feature +289 -0
- data/vendor/behave/features/runner.select_scenarios_by_tag.feature +225 -0
- data/vendor/behave/features/runner.stop_after_failure.feature +122 -0
- data/vendor/behave/features/runner.tag_logic.feature +67 -0
- data/vendor/behave/features/runner.unknown_formatter.feature +23 -0
- data/vendor/behave/features/runner.use_stage_implementations.feature +126 -0
- data/vendor/behave/features/scenario.description.feature +171 -0
- data/vendor/behave/features/scenario.exclude_from_run.feature +217 -0
- data/vendor/behave/features/scenario_outline.basics.feature +100 -0
- data/vendor/behave/features/scenario_outline.improved.feature +177 -0
- data/vendor/behave/features/scenario_outline.name_annotation.feature +157 -0
- data/vendor/behave/features/scenario_outline.parametrized.feature +401 -0
- data/vendor/behave/features/scenario_outline.tagged_examples.feature +118 -0
- data/vendor/behave/features/step.async_steps.feature +225 -0
- data/vendor/behave/features/step.duplicated_step.feature +106 -0
- data/vendor/behave/features/step.execute_steps.feature +59 -0
- data/vendor/behave/features/step.execute_steps.with_table.feature +65 -0
- data/vendor/behave/features/step.import_other_step_module.feature +103 -0
- data/vendor/behave/features/step.pending_steps.feature +128 -0
- data/vendor/behave/features/step.undefined_steps.feature +307 -0
- data/vendor/behave/features/step.use_step_library.feature +44 -0
- data/vendor/behave/features/step_dialect.generic_steps.feature +189 -0
- data/vendor/behave/features/step_dialect.given_when_then.feature +89 -0
- data/vendor/behave/features/step_param.builtin_types.with_float.feature +239 -0
- data/vendor/behave/features/step_param.builtin_types.with_integer.feature +305 -0
- data/vendor/behave/features/step_param.custom_types.feature +134 -0
- data/vendor/behave/features/steps/behave_active_tags_steps.py +86 -0
- data/vendor/behave/features/steps/behave_context_steps.py +67 -0
- data/vendor/behave/features/steps/behave_model_tag_logic_steps.py +105 -0
- data/vendor/behave/features/steps/behave_model_util.py +105 -0
- data/vendor/behave/features/steps/behave_select_files_steps.py +83 -0
- data/vendor/behave/features/steps/behave_tag_expression_steps.py +166 -0
- data/vendor/behave/features/steps/behave_undefined_steps.py +101 -0
- data/vendor/behave/features/steps/use_steplib_behave4cmd.py +12 -0
- data/vendor/behave/features/summary.undefined_steps.feature +114 -0
- data/vendor/behave/features/tags.active_tags.feature +385 -0
- data/vendor/behave/features/tags.default_tags.feature +104 -0
- data/vendor/behave/features/tags.tag_expression.feature +105 -0
- data/vendor/behave/features/userdata.feature +331 -0
- data/vendor/behave/invoke.yaml +21 -0
- data/vendor/behave/issue.features/README.txt +17 -0
- data/vendor/behave/issue.features/environment.py +97 -0
- data/vendor/behave/issue.features/issue0030.feature +21 -0
- data/vendor/behave/issue.features/issue0031.feature +16 -0
- data/vendor/behave/issue.features/issue0032.feature +28 -0
- data/vendor/behave/issue.features/issue0035.feature +74 -0
- data/vendor/behave/issue.features/issue0040.feature +154 -0
- data/vendor/behave/issue.features/issue0041.feature +135 -0
- data/vendor/behave/issue.features/issue0042.feature +230 -0
- data/vendor/behave/issue.features/issue0044.feature +51 -0
- data/vendor/behave/issue.features/issue0046.feature +77 -0
- data/vendor/behave/issue.features/issue0052.feature +66 -0
- data/vendor/behave/issue.features/issue0059.feature +29 -0
- data/vendor/behave/issue.features/issue0063.feature +102 -0
- data/vendor/behave/issue.features/issue0064.feature +97 -0
- data/vendor/behave/issue.features/issue0065.feature +18 -0
- data/vendor/behave/issue.features/issue0066.feature +80 -0
- data/vendor/behave/issue.features/issue0067.feature +90 -0
- data/vendor/behave/issue.features/issue0069.feature +64 -0
- data/vendor/behave/issue.features/issue0072.feature +32 -0
- data/vendor/behave/issue.features/issue0073.feature +228 -0
- data/vendor/behave/issue.features/issue0075.feature +18 -0
- data/vendor/behave/issue.features/issue0077.feature +89 -0
- data/vendor/behave/issue.features/issue0080.feature +49 -0
- data/vendor/behave/issue.features/issue0081.feature +138 -0
- data/vendor/behave/issue.features/issue0083.feature +69 -0
- data/vendor/behave/issue.features/issue0084.feature +69 -0
- data/vendor/behave/issue.features/issue0085.feature +119 -0
- data/vendor/behave/issue.features/issue0092.feature +66 -0
- data/vendor/behave/issue.features/issue0096.feature +173 -0
- data/vendor/behave/issue.features/issue0099.feature +130 -0
- data/vendor/behave/issue.features/issue0109.feature +60 -0
- data/vendor/behave/issue.features/issue0111.feature +53 -0
- data/vendor/behave/issue.features/issue0112.feature +64 -0
- data/vendor/behave/issue.features/issue0114.feature +118 -0
- data/vendor/behave/issue.features/issue0116.feature +71 -0
- data/vendor/behave/issue.features/issue0125.feature +49 -0
- data/vendor/behave/issue.features/issue0127.feature +64 -0
- data/vendor/behave/issue.features/issue0139.feature +67 -0
- data/vendor/behave/issue.features/issue0142.feature +37 -0
- data/vendor/behave/issue.features/issue0143.feature +54 -0
- data/vendor/behave/issue.features/issue0145.feature +63 -0
- data/vendor/behave/issue.features/issue0148.feature +105 -0
- data/vendor/behave/issue.features/issue0152.feature +52 -0
- data/vendor/behave/issue.features/issue0159.feature +74 -0
- data/vendor/behave/issue.features/issue0162.feature +86 -0
- data/vendor/behave/issue.features/issue0171.feature +16 -0
- data/vendor/behave/issue.features/issue0172.feature +51 -0
- data/vendor/behave/issue.features/issue0175.feature +91 -0
- data/vendor/behave/issue.features/issue0177.feature +40 -0
- data/vendor/behave/issue.features/issue0181.feature +36 -0
- data/vendor/behave/issue.features/issue0184.feature +144 -0
- data/vendor/behave/issue.features/issue0186.feature +12 -0
- data/vendor/behave/issue.features/issue0188.feature +60 -0
- data/vendor/behave/issue.features/issue0191.feature +178 -0
- data/vendor/behave/issue.features/issue0194.feature +215 -0
- data/vendor/behave/issue.features/issue0197.feature +11 -0
- data/vendor/behave/issue.features/issue0216.feature +129 -0
- data/vendor/behave/issue.features/issue0226.feature +51 -0
- data/vendor/behave/issue.features/issue0228.feature +41 -0
- data/vendor/behave/issue.features/issue0230.feature +46 -0
- data/vendor/behave/issue.features/issue0231.feature +77 -0
- data/vendor/behave/issue.features/issue0238.feature +52 -0
- data/vendor/behave/issue.features/issue0251.feature +15 -0
- data/vendor/behave/issue.features/issue0280.feature +118 -0
- data/vendor/behave/issue.features/issue0288.feature +95 -0
- data/vendor/behave/issue.features/issue0300.feature +49 -0
- data/vendor/behave/issue.features/issue0302.feature +91 -0
- data/vendor/behave/issue.features/issue0309.feature +52 -0
- data/vendor/behave/issue.features/issue0330.feature +124 -0
- data/vendor/behave/issue.features/issue0349.feature +9 -0
- data/vendor/behave/issue.features/issue0361.feature +79 -0
- data/vendor/behave/issue.features/issue0383.feature +76 -0
- data/vendor/behave/issue.features/issue0384.feature +103 -0
- data/vendor/behave/issue.features/issue0385.feature +109 -0
- data/vendor/behave/issue.features/issue0424.feature +66 -0
- data/vendor/behave/issue.features/issue0446.feature +116 -0
- data/vendor/behave/issue.features/issue0449.feature +42 -0
- data/vendor/behave/issue.features/issue0453.feature +42 -0
- data/vendor/behave/issue.features/issue0457.feature +65 -0
- data/vendor/behave/issue.features/issue0462.feature +38 -0
- data/vendor/behave/issue.features/issue0476.feature +39 -0
- data/vendor/behave/issue.features/issue0487.feature +92 -0
- data/vendor/behave/issue.features/issue0506.feature +77 -0
- data/vendor/behave/issue.features/issue0510.feature +51 -0
- data/vendor/behave/issue.features/requirements.txt +12 -0
- data/vendor/behave/issue.features/steps/ansi_steps.py +20 -0
- data/vendor/behave/issue.features/steps/behave_hooks_steps.py +10 -0
- data/vendor/behave/issue.features/steps/use_steplib_behave4cmd.py +13 -0
- data/vendor/behave/more.features/formatter.json.validate_output.feature +37 -0
- data/vendor/behave/more.features/steps/tutorial_steps.py +16 -0
- data/vendor/behave/more.features/steps/use_steplib_behave4cmd.py +7 -0
- data/vendor/behave/more.features/tutorial.feature +6 -0
- data/vendor/behave/py.requirements/README.txt +5 -0
- data/vendor/behave/py.requirements/all.txt +16 -0
- data/vendor/behave/py.requirements/basic.txt +21 -0
- data/vendor/behave/py.requirements/develop.txt +28 -0
- data/vendor/behave/py.requirements/docs.txt +6 -0
- data/vendor/behave/py.requirements/json.txt +7 -0
- data/vendor/behave/py.requirements/more_py26.txt +8 -0
- data/vendor/behave/py.requirements/testing.txt +10 -0
- data/vendor/behave/pytest.ini +24 -0
- data/vendor/behave/setup.cfg +29 -0
- data/vendor/behave/setup.py +118 -0
- data/vendor/behave/setuptools_behave.py +130 -0
- data/vendor/behave/tasks/__behave.py +45 -0
- data/vendor/behave/tasks/__init__.py +55 -0
- data/vendor/behave/tasks/__main__.py +70 -0
- data/vendor/behave/tasks/_setup.py +135 -0
- data/vendor/behave/tasks/_vendor/README.rst +35 -0
- data/vendor/behave/tasks/_vendor/invoke.zip +0 -0
- data/vendor/behave/tasks/_vendor/path.py +1725 -0
- data/vendor/behave/tasks/_vendor/pathlib.py +1280 -0
- data/vendor/behave/tasks/_vendor/six.py +868 -0
- data/vendor/behave/tasks/clean.py +246 -0
- data/vendor/behave/tasks/docs.py +97 -0
- data/vendor/behave/tasks/requirements.txt +17 -0
- data/vendor/behave/tasks/test.py +192 -0
- data/vendor/behave/test/__init__.py +0 -0
- data/vendor/behave/test/_importer_candidate.py +3 -0
- data/vendor/behave/test/reporters/__init__.py +0 -0
- data/vendor/behave/test/reporters/test_summary.py +240 -0
- data/vendor/behave/test/test_ansi_escapes.py +73 -0
- data/vendor/behave/test/test_configuration.py +172 -0
- data/vendor/behave/test/test_formatter.py +265 -0
- data/vendor/behave/test/test_formatter_progress.py +39 -0
- data/vendor/behave/test/test_formatter_rerun.py +97 -0
- data/vendor/behave/test/test_formatter_tags.py +57 -0
- data/vendor/behave/test/test_importer.py +151 -0
- data/vendor/behave/test/test_log_capture.py +29 -0
- data/vendor/behave/test/test_matchers.py +236 -0
- data/vendor/behave/test/test_model.py +871 -0
- data/vendor/behave/test/test_parser.py +1590 -0
- data/vendor/behave/test/test_runner.py +1074 -0
- data/vendor/behave/test/test_step_registry.py +96 -0
- data/vendor/behave/test/test_tag_expression.py +506 -0
- data/vendor/behave/test/test_tag_expression2.py +462 -0
- data/vendor/behave/test/test_tag_matcher.py +729 -0
- data/vendor/behave/test/test_userdata.py +184 -0
- data/vendor/behave/tests/README.txt +12 -0
- data/vendor/behave/tests/__init__.py +0 -0
- data/vendor/behave/tests/api/__ONLY_PY34_or_newer.txt +0 -0
- data/vendor/behave/tests/api/__init__.py +0 -0
- data/vendor/behave/tests/api/_test_async_step34.py +130 -0
- data/vendor/behave/tests/api/_test_async_step35.py +75 -0
- data/vendor/behave/tests/api/test_async_step.py +18 -0
- data/vendor/behave/tests/api/testing_support.py +94 -0
- data/vendor/behave/tests/api/testing_support_async.py +21 -0
- data/vendor/behave/tests/issues/test_issue0336.py +66 -0
- data/vendor/behave/tests/issues/test_issue0449.py +55 -0
- data/vendor/behave/tests/issues/test_issue0453.py +62 -0
- data/vendor/behave/tests/issues/test_issue0458.py +54 -0
- data/vendor/behave/tests/issues/test_issue0495.py +65 -0
- data/vendor/behave/tests/unit/__init__.py +0 -0
- data/vendor/behave/tests/unit/test_behave4cmd_command_shell_proc.py +135 -0
- data/vendor/behave/tests/unit/test_capture.py +280 -0
- data/vendor/behave/tests/unit/test_model_core.py +56 -0
- data/vendor/behave/tests/unit/test_textutil.py +267 -0
- data/vendor/behave/tools/test-features/background.feature +9 -0
- data/vendor/behave/tools/test-features/environment.py +8 -0
- data/vendor/behave/tools/test-features/french.feature +11 -0
- data/vendor/behave/tools/test-features/outline.feature +39 -0
- data/vendor/behave/tools/test-features/parse.feature +10 -0
- data/vendor/behave/tools/test-features/step-data.feature +60 -0
- data/vendor/behave/tools/test-features/steps/steps.py +120 -0
- data/vendor/behave/tools/test-features/tags.feature +18 -0
- data/vendor/behave/tox.ini +159 -0
- metadata +562 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
Feature: Exclude Scenario from Test Run
|
|
2
|
+
|
|
3
|
+
As a test writer
|
|
4
|
+
I want sometimes to decide at runtime
|
|
5
|
+
that a scenario is excluded from a test run
|
|
6
|
+
So that the command-line configuration becomes simpler
|
|
7
|
+
(and auto-configuration is supported).
|
|
8
|
+
|
|
9
|
+
. MECHANISM:
|
|
10
|
+
. The "before_scenario()" hook can decide just before a scenario should run
|
|
11
|
+
. that the scenario should be excluded from the test-run.
|
|
12
|
+
. NOTE: Hooks are not called in dry-run mode.
|
|
13
|
+
.
|
|
14
|
+
. RATIONALE:
|
|
15
|
+
. There are certain situations where it is better to skip a scenario
|
|
16
|
+
. than to run and fail the scenario.
|
|
17
|
+
.
|
|
18
|
+
. Reasons for these cases are of often test environment related:
|
|
19
|
+
. * test environment does not fulfill the desired criteria
|
|
20
|
+
. * used testbed does not fulfill test requirements
|
|
21
|
+
.
|
|
22
|
+
. Instead of providing the exclude-scenario selection on the command-line,
|
|
23
|
+
. the test (environment) and configuration logic should determine
|
|
24
|
+
. if a test should be excluded (as auto-configuration functionality).
|
|
25
|
+
.
|
|
26
|
+
. EXAMPLE:
|
|
27
|
+
. Certain scenarios should not run on Windows (or Linux, ...).
|
|
28
|
+
.
|
|
29
|
+
. EVALUATION ORDER:
|
|
30
|
+
. Before the user can exclude a scenario from a test-run,
|
|
31
|
+
. additional mechanisms decide, if the scenario is part of the selected run-set.
|
|
32
|
+
. These are:
|
|
33
|
+
. * tags
|
|
34
|
+
. * ...
|
|
35
|
+
.
|
|
36
|
+
. RELATED:
|
|
37
|
+
. * features/feature.exclude_from_run.feature
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@setup
|
|
41
|
+
Scenario:
|
|
42
|
+
Given a new working directory
|
|
43
|
+
And a file named "features/example.feature" with:
|
|
44
|
+
"""
|
|
45
|
+
Feature:
|
|
46
|
+
|
|
47
|
+
Scenario: Alice
|
|
48
|
+
Given a step passes
|
|
49
|
+
When another step passes
|
|
50
|
+
Then some step passes
|
|
51
|
+
|
|
52
|
+
Scenario: Bob and Alice
|
|
53
|
+
Given some step passes
|
|
54
|
+
|
|
55
|
+
Scenario: Bob
|
|
56
|
+
Given another step passes
|
|
57
|
+
"""
|
|
58
|
+
And a file named "features/steps/steps.py" with:
|
|
59
|
+
"""
|
|
60
|
+
from behave import step
|
|
61
|
+
|
|
62
|
+
@step('{word:w} step passes')
|
|
63
|
+
def step_passes(context, word):
|
|
64
|
+
pass
|
|
65
|
+
|
|
66
|
+
@step('{word:w} step fails')
|
|
67
|
+
def step_fails(context, word):
|
|
68
|
+
assert False, "XFAIL-STEP"
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
@use_hook.before_scenario
|
|
72
|
+
Scenario: Exclude a scenario from the test run (using: before_scenario() hook)
|
|
73
|
+
Given a file named "features/environment.py" with:
|
|
74
|
+
"""
|
|
75
|
+
import sys
|
|
76
|
+
|
|
77
|
+
def should_exclude_scenario(context, scenario):
|
|
78
|
+
if scenario.name.startswith("Alice"):
|
|
79
|
+
return True
|
|
80
|
+
return False
|
|
81
|
+
|
|
82
|
+
def before_scenario(context, scenario):
|
|
83
|
+
if should_exclude_scenario(context, scenario):
|
|
84
|
+
sys.stdout.write("EXCLUDED-BY-USER: Scenario %s\n" % scenario.name)
|
|
85
|
+
scenario.skip()
|
|
86
|
+
"""
|
|
87
|
+
When I run "behave -f plain -T features/example.feature"
|
|
88
|
+
Then it should pass with:
|
|
89
|
+
"""
|
|
90
|
+
2 scenarios passed, 0 failed, 1 skipped
|
|
91
|
+
2 steps passed, 0 failed, 3 skipped, 0 undefined
|
|
92
|
+
"""
|
|
93
|
+
And the command output should contain:
|
|
94
|
+
"""
|
|
95
|
+
EXCLUDED-BY-USER: Scenario Alice
|
|
96
|
+
"""
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
@use_hook.before_feature
|
|
100
|
+
Scenario: Exclude a scenario from the test run (using: before_feature() hook)
|
|
101
|
+
Given a file named "features/environment.py" with:
|
|
102
|
+
"""
|
|
103
|
+
import sys
|
|
104
|
+
|
|
105
|
+
def should_exclude_scenario(scenario):
|
|
106
|
+
if "Alice" in scenario.name: # MATCHES: Alice, Bob and Alice
|
|
107
|
+
return True
|
|
108
|
+
return False
|
|
109
|
+
|
|
110
|
+
def before_feature(context, feature):
|
|
111
|
+
# -- NOTE: walk_scenarios() flattens ScenarioOutline.scenarios
|
|
112
|
+
for scenario in feature.walk_scenarios():
|
|
113
|
+
if should_exclude_scenario(scenario):
|
|
114
|
+
sys.stdout.write("EXCLUDED-BEFORE-FEATURE: Scenario %s\n" % scenario.name)
|
|
115
|
+
scenario.skip()
|
|
116
|
+
"""
|
|
117
|
+
When I run "behave -f plain -T features/example.feature"
|
|
118
|
+
Then it should pass with:
|
|
119
|
+
"""
|
|
120
|
+
1 scenario passed, 0 failed, 2 skipped
|
|
121
|
+
1 step passed, 0 failed, 4 skipped, 0 undefined
|
|
122
|
+
"""
|
|
123
|
+
And the command output should contain:
|
|
124
|
+
"""
|
|
125
|
+
EXCLUDED-BEFORE-FEATURE: Scenario Alice
|
|
126
|
+
EXCLUDED-BEFORE-FEATURE: Scenario Bob and Alice
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
Scenario: Skip scenario in a step
|
|
131
|
+
|
|
132
|
+
Expect that remaining steps of the scenario are skipped.
|
|
133
|
+
The skipping step is also marked as skipped
|
|
134
|
+
to better detect scenarios that are partly executed and then skipped
|
|
135
|
+
(otherwise a passed step would hide that the remaining steps are skipped).
|
|
136
|
+
|
|
137
|
+
Given a file named "features/skip_scenario.feature" with:
|
|
138
|
+
"""
|
|
139
|
+
Feature:
|
|
140
|
+
|
|
141
|
+
Scenario: Alice2
|
|
142
|
+
Given a step passes
|
|
143
|
+
And the assumption "location:Wonderland" is not met
|
|
144
|
+
When another step passes
|
|
145
|
+
Then some step passes
|
|
146
|
+
|
|
147
|
+
Scenario: Bob and Alice2
|
|
148
|
+
Given some step passes
|
|
149
|
+
When I skip the remaining scenario
|
|
150
|
+
Then another step passes
|
|
151
|
+
"""
|
|
152
|
+
And a file named "features/steps/skip_scenario_steps.py" with:
|
|
153
|
+
"""
|
|
154
|
+
from behave import given, step
|
|
155
|
+
|
|
156
|
+
@given('the assumption "{name}" is not met')
|
|
157
|
+
def step_assumption_not_met(context, name):
|
|
158
|
+
context.scenario.skip("Assumption %s not met" % name)
|
|
159
|
+
|
|
160
|
+
@step('I skip the remaining scenario')
|
|
161
|
+
def step_skip_scenario(context):
|
|
162
|
+
context.scenario.skip()
|
|
163
|
+
"""
|
|
164
|
+
And a file named "features/environment.py" with:
|
|
165
|
+
"""
|
|
166
|
+
# -- OVERRIDE WITH EMPTY-ENVIRONMENT.
|
|
167
|
+
"""
|
|
168
|
+
When I run "behave -f plain -T features/skip_scenario.feature"
|
|
169
|
+
Then it should pass with:
|
|
170
|
+
"""
|
|
171
|
+
0 scenarios passed, 0 failed, 2 skipped
|
|
172
|
+
2 steps passed, 0 failed, 5 skipped, 0 undefined
|
|
173
|
+
"""
|
|
174
|
+
And the command output should contain:
|
|
175
|
+
"""
|
|
176
|
+
Scenario: Alice2
|
|
177
|
+
Given a step passes ... passed
|
|
178
|
+
And the assumption "location:Wonderland" is not met ... skipped
|
|
179
|
+
|
|
180
|
+
Scenario: Bob and Alice2
|
|
181
|
+
Given some step passes ... passed
|
|
182
|
+
When I skip the remaining scenario ... skipped
|
|
183
|
+
"""
|
|
184
|
+
But note that "the step that skipped the scenario is also marked as skipped"
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
Scenario: Skip scenario in after_scenario hook
|
|
188
|
+
|
|
189
|
+
Expect that scenario is not marked as skipped
|
|
190
|
+
because it was already executed (with status: passed, failed, ...).
|
|
191
|
+
|
|
192
|
+
Given a file named "features/pass_and_fail.feature" with:
|
|
193
|
+
"""
|
|
194
|
+
Feature:
|
|
195
|
+
|
|
196
|
+
Scenario: Passing
|
|
197
|
+
Given a step passes
|
|
198
|
+
|
|
199
|
+
Scenario: Failing
|
|
200
|
+
Given some step passes
|
|
201
|
+
When a step fails
|
|
202
|
+
"""
|
|
203
|
+
And a file named "features/environment.py" with:
|
|
204
|
+
"""
|
|
205
|
+
def before_all(context):
|
|
206
|
+
context.config.setup_logging()
|
|
207
|
+
|
|
208
|
+
def after_scenario(context, scenario):
|
|
209
|
+
scenario.skip("AFTER-SCENARIO")
|
|
210
|
+
"""
|
|
211
|
+
When I run "behave -f plain -T features/pass_and_fail.feature"
|
|
212
|
+
Then it should fail with:
|
|
213
|
+
"""
|
|
214
|
+
1 scenario passed, 1 failed, 0 skipped
|
|
215
|
+
2 steps passed, 1 failed, 0 skipped, 0 undefined
|
|
216
|
+
"""
|
|
217
|
+
But note that "the scenarios are not marked as skipped (SKIP-TOO-LATE)"
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #187 ScenarioOutline uses wrong return value when if fails
|
|
3
|
+
|
|
4
|
+
Ensure that ScenarioOutline run-logic behaves as expected.
|
|
5
|
+
|
|
6
|
+
@setup
|
|
7
|
+
Scenario: Feature Setup
|
|
8
|
+
Given a new working directory
|
|
9
|
+
And a file named "features/steps/steps.py" with:
|
|
10
|
+
"""
|
|
11
|
+
from behave import step
|
|
12
|
+
|
|
13
|
+
@step('a step passes')
|
|
14
|
+
def step_passes(context):
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
@step('a step fails')
|
|
18
|
+
def step_fails(context):
|
|
19
|
+
assert False, "XFAIL-STEP"
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
Scenario: All examples pass
|
|
23
|
+
Given a file named "features/example.scenario_outline_pass.feature" with:
|
|
24
|
+
"""
|
|
25
|
+
Feature: All Examples pass
|
|
26
|
+
Scenario Outline:
|
|
27
|
+
Given a step <outcome>
|
|
28
|
+
|
|
29
|
+
Examples:
|
|
30
|
+
| outcome | Comment |
|
|
31
|
+
| passes | First example passes |
|
|
32
|
+
| passes | Last example passes |
|
|
33
|
+
"""
|
|
34
|
+
When I run "behave -f plain features/example.scenario_outline_pass.feature"
|
|
35
|
+
Then it should pass with:
|
|
36
|
+
"""
|
|
37
|
+
1 feature passed, 0 failed, 0 skipped
|
|
38
|
+
2 scenarios passed, 0 failed, 0 skipped
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
@scenario_outline.fails
|
|
42
|
+
Scenario: First example fails
|
|
43
|
+
Given a file named "features/example.scenario_outline_fail_first.feature" with:
|
|
44
|
+
"""
|
|
45
|
+
Feature: First Example in Scenario Outline fails
|
|
46
|
+
Scenario Outline:
|
|
47
|
+
Given a step <outcome>
|
|
48
|
+
|
|
49
|
+
Examples:
|
|
50
|
+
| outcome | Comment |
|
|
51
|
+
| fails | First example fails |
|
|
52
|
+
| passes | Last example passes |
|
|
53
|
+
"""
|
|
54
|
+
When I run "behave -f plain features/example.scenario_outline_fail_first.feature"
|
|
55
|
+
Then it should fail with:
|
|
56
|
+
"""
|
|
57
|
+
0 features passed, 1 failed, 0 skipped
|
|
58
|
+
1 scenario passed, 1 failed, 0 skipped
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
@scenario_outline.fails
|
|
62
|
+
Scenario: Last example fails
|
|
63
|
+
Given a file named "features/example.scenario_outline_fail_last.feature" with:
|
|
64
|
+
"""
|
|
65
|
+
Feature: Last Example in Scenario Outline fails
|
|
66
|
+
Scenario Outline:
|
|
67
|
+
Given a step <outcome>
|
|
68
|
+
|
|
69
|
+
Examples:
|
|
70
|
+
| outcome | Comment |
|
|
71
|
+
| passes | First example passes |
|
|
72
|
+
| fails | Last example fails |
|
|
73
|
+
"""
|
|
74
|
+
When I run "behave -f plain features/example.scenario_outline_fail_last.feature"
|
|
75
|
+
Then it should fail with:
|
|
76
|
+
"""
|
|
77
|
+
0 features passed, 1 failed, 0 skipped
|
|
78
|
+
1 scenario passed, 1 failed, 0 skipped
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
@scenario_outline.fails
|
|
82
|
+
Scenario: Middle example fails
|
|
83
|
+
Given a file named "features/example.scenario_outline_fail_middle.feature" with:
|
|
84
|
+
"""
|
|
85
|
+
Feature: Middle Example in Scenario Outline fails
|
|
86
|
+
Scenario Outline:
|
|
87
|
+
Given a step <outcome>
|
|
88
|
+
|
|
89
|
+
Examples:
|
|
90
|
+
| outcome | Comment |
|
|
91
|
+
| passes | First example passes |
|
|
92
|
+
| fails | Middle example fails |
|
|
93
|
+
| passes | Last example passes |
|
|
94
|
+
"""
|
|
95
|
+
When I run "behave -f plain features/example.scenario_outline_fail_middle.feature"
|
|
96
|
+
Then it should fail with:
|
|
97
|
+
"""
|
|
98
|
+
0 features passed, 1 failed, 0 skipped
|
|
99
|
+
2 scenarios passed, 1 failed, 0 skipped
|
|
100
|
+
"""
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
Feature: Scenario Outline -- Improvements
|
|
2
|
+
|
|
3
|
+
As a behave user / test writer
|
|
4
|
+
I want that Scenario Outline (as paramtrized Scenario) is improved
|
|
5
|
+
So that I know better which example/row combination is run.
|
|
6
|
+
|
|
7
|
+
. REQUIREMENTS:
|
|
8
|
+
. * Generated scenario name should better indicate row/example combination.
|
|
9
|
+
. * Naming schema for generated scenario names should be configurable.
|
|
10
|
+
. * File location of generated scenario should represent row/example.
|
|
11
|
+
. * It should be possible select all scenarios of an examples group.
|
|
12
|
+
.
|
|
13
|
+
. IMPROVEMENTS:
|
|
14
|
+
. * annotate Scenario Outline name (with row.id, examples.name, ...)
|
|
15
|
+
. * use placeholders (from row/example) in Scenario Outline tags.
|
|
16
|
+
. * use placeholders (from row/example) in Scenario Outline name.
|
|
17
|
+
. * use placeholders (from row/example) in Examples (group) name.
|
|
18
|
+
. * file location for generated scenario is unique (selectable in rerun)
|
|
19
|
+
.
|
|
20
|
+
. SPECIFICATION: Special placeholders
|
|
21
|
+
.
|
|
22
|
+
. | Placeholder | Description |
|
|
23
|
+
. | name | Name of the Scenario Outline. |
|
|
24
|
+
. | examples.name | Name of the examples group (or empty string). |
|
|
25
|
+
. | examples.index | Index of examples group (range: 1..N). |
|
|
26
|
+
. | row.index | Index of row in examples group (range: 1..R). |
|
|
27
|
+
. | row.id | Same as: "{example.index}.{row.index}" |
|
|
28
|
+
.
|
|
29
|
+
. RELATED:
|
|
30
|
+
. * scenario_outline.name_annotation.feature
|
|
31
|
+
. * scenario_outline.parametrized.feature
|
|
32
|
+
|
|
33
|
+
@setup
|
|
34
|
+
Scenario: Test Setup
|
|
35
|
+
Given a new working directory
|
|
36
|
+
And a file named "behave.ini" with:
|
|
37
|
+
"""
|
|
38
|
+
[behave]
|
|
39
|
+
scenario_outline_annotation_schema = {name} -- @{row.id} {examples.name}
|
|
40
|
+
show_timings = false
|
|
41
|
+
show_skipped = false
|
|
42
|
+
"""
|
|
43
|
+
And a file named "features/named_examples.feature" with:
|
|
44
|
+
"""
|
|
45
|
+
Feature:
|
|
46
|
+
Scenario Outline: Named Examples
|
|
47
|
+
Given a param <param1>
|
|
48
|
+
|
|
49
|
+
Examples: Alice
|
|
50
|
+
| param1 |
|
|
51
|
+
| 10 |
|
|
52
|
+
| 42 |
|
|
53
|
+
|
|
54
|
+
Examples: Bob
|
|
55
|
+
| param1 |
|
|
56
|
+
| 43 |
|
|
57
|
+
"""
|
|
58
|
+
And a file named "features/unnamed_examples.feature" with:
|
|
59
|
+
"""
|
|
60
|
+
Feature:
|
|
61
|
+
Scenario Outline: Unnamed Examples
|
|
62
|
+
Given a param <param1>
|
|
63
|
+
|
|
64
|
+
Examples:
|
|
65
|
+
| param1 |
|
|
66
|
+
| 100 |
|
|
67
|
+
| 101 |
|
|
68
|
+
"""
|
|
69
|
+
And a file named "features/steps/param_steps.py" with:
|
|
70
|
+
"""
|
|
71
|
+
from behave import step
|
|
72
|
+
|
|
73
|
+
@step('a param {value:w}')
|
|
74
|
+
def step_impl_with_param(context, value):
|
|
75
|
+
context.param = value
|
|
76
|
+
|
|
77
|
+
@step('a param {name}={value}')
|
|
78
|
+
def step_impl_with_param_value(context, name, value):
|
|
79
|
+
context.param_name = name
|
|
80
|
+
context.param_value = value
|
|
81
|
+
"""
|
|
82
|
+
|
|
83
|
+
Scenario: Unique File Locations in generated scenarios
|
|
84
|
+
When I run "behave -f pretty -c features/named_examples.feature"
|
|
85
|
+
Then it should pass with:
|
|
86
|
+
"""
|
|
87
|
+
Scenario Outline: Named Examples -- @1.1 Alice # features/named_examples.feature:7
|
|
88
|
+
Given a param 10 # features/steps/param_steps.py:3
|
|
89
|
+
|
|
90
|
+
Scenario Outline: Named Examples -- @1.2 Alice # features/named_examples.feature:8
|
|
91
|
+
Given a param 42 # features/steps/param_steps.py:3
|
|
92
|
+
|
|
93
|
+
Scenario Outline: Named Examples -- @2.1 Bob # features/named_examples.feature:12
|
|
94
|
+
Given a param 43 # features/steps/param_steps.py:3
|
|
95
|
+
"""
|
|
96
|
+
But note that "each generated scenario has unique file location (related to row.line)"
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
Scenario: Select generated scenario by unique File Location
|
|
100
|
+
When I run "behave -f plain features/named_examples.feature:8"
|
|
101
|
+
Then it should pass with:
|
|
102
|
+
"""
|
|
103
|
+
1 scenario passed, 0 failed, 2 skipped
|
|
104
|
+
1 step passed, 0 failed, 2 skipped, 0 undefined
|
|
105
|
+
"""
|
|
106
|
+
And the command output should contain:
|
|
107
|
+
"""
|
|
108
|
+
Scenario Outline: Named Examples -- @1.2 Alice
|
|
109
|
+
Given a param 42 ... passed
|
|
110
|
+
"""
|
|
111
|
+
|
|
112
|
+
@xfail
|
|
113
|
+
Scenario: Select all generated scenarios of a Scenario Outline by File Location
|
|
114
|
+
Given a file named "behave.ini" with:
|
|
115
|
+
"""
|
|
116
|
+
[behave]
|
|
117
|
+
scenario_outline_annotation_schema = {name} -- @{row.id} {examples.name}
|
|
118
|
+
"""
|
|
119
|
+
When I run "behave -f plain features/named_examples.feature:2"
|
|
120
|
+
Then it should pass with:
|
|
121
|
+
"""
|
|
122
|
+
3 scenarios passed, 0 failed, 0 skipped
|
|
123
|
+
3 step passed, 0 failed, 0 skipped, 0 undefined
|
|
124
|
+
"""
|
|
125
|
+
And the command output should contain:
|
|
126
|
+
"""
|
|
127
|
+
Scenario Outline: Named Examples -- @1.2 Alice
|
|
128
|
+
Given a param 42 ... passed
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
@select.examples.by_name
|
|
132
|
+
Scenario: Select Examples (Group) by Name (Case: name part)
|
|
133
|
+
When I run "behave --name=Alice -f plain features/named_examples.feature"
|
|
134
|
+
Then it should pass with:
|
|
135
|
+
"""
|
|
136
|
+
2 scenarios passed, 0 failed, 1 skipped
|
|
137
|
+
2 steps passed, 0 failed, 1 skipped, 0 undefined
|
|
138
|
+
"""
|
|
139
|
+
And the command output should contain:
|
|
140
|
+
"""
|
|
141
|
+
Scenario Outline: Named Examples -- @1.1 Alice
|
|
142
|
+
Given a param 10 ... passed
|
|
143
|
+
|
|
144
|
+
Scenario Outline: Named Examples -- @1.2 Alice
|
|
145
|
+
Given a param 42 ... passed
|
|
146
|
+
"""
|
|
147
|
+
|
|
148
|
+
@select.examples.by_name
|
|
149
|
+
Scenario: Select Examples (Group) by Name (Case: regular expression)
|
|
150
|
+
When I run "behave --name='-- @.* Alice' -f plain features/named_examples.feature"
|
|
151
|
+
Then it should pass with:
|
|
152
|
+
"""
|
|
153
|
+
2 scenarios passed, 0 failed, 1 skipped
|
|
154
|
+
2 steps passed, 0 failed, 1 skipped, 0 undefined
|
|
155
|
+
"""
|
|
156
|
+
And the command output should contain:
|
|
157
|
+
"""
|
|
158
|
+
Scenario Outline: Named Examples -- @1.1 Alice
|
|
159
|
+
Given a param 10 ... passed
|
|
160
|
+
|
|
161
|
+
Scenario Outline: Named Examples -- @1.2 Alice
|
|
162
|
+
Given a param 42 ... passed
|
|
163
|
+
"""
|
|
164
|
+
|
|
165
|
+
@select.examples.by_name
|
|
166
|
+
Scenario: Select one Example by Name
|
|
167
|
+
When I run "behave --name='-- @1.2 Alice' -f plain features/named_examples.feature"
|
|
168
|
+
Then it should pass with:
|
|
169
|
+
"""
|
|
170
|
+
1 scenario passed, 0 failed, 2 skipped
|
|
171
|
+
1 step passed, 0 failed, 2 skipped, 0 undefined
|
|
172
|
+
"""
|
|
173
|
+
And the command output should contain:
|
|
174
|
+
"""
|
|
175
|
+
Scenario Outline: Named Examples -- @1.2 Alice
|
|
176
|
+
Given a param 42 ... passed
|
|
177
|
+
"""
|