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
|
File without changes
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
Feature: Exclude Feature from Test Run
|
|
2
|
+
|
|
3
|
+
As a test writer
|
|
4
|
+
I want sometimes to decide at runtime
|
|
5
|
+
that a feature 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_feature()" hook can decide just before a feature should run
|
|
11
|
+
. that the feature 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 feature
|
|
16
|
+
. than to run and fail the feature.
|
|
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-feature 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 features should not run on Windows (or Linux, ...).
|
|
28
|
+
.
|
|
29
|
+
. EVALUATION ORDER:
|
|
30
|
+
. Before the user can exclude a feature from a test-run,
|
|
31
|
+
. additional mechanisms decide, if the feature is part of the selected run-set.
|
|
32
|
+
. These are:
|
|
33
|
+
. * tags
|
|
34
|
+
. * ...
|
|
35
|
+
.
|
|
36
|
+
. RELATED:
|
|
37
|
+
. * features/scenario.exclude_from_run.feature
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@setup
|
|
41
|
+
Scenario:
|
|
42
|
+
Given a new working directory
|
|
43
|
+
And a file named "features/alice.feature" with:
|
|
44
|
+
"""
|
|
45
|
+
Feature: Alice
|
|
46
|
+
Scenario: Alice in Wonderland
|
|
47
|
+
Given a step passes
|
|
48
|
+
When another step passes
|
|
49
|
+
Then some step passes
|
|
50
|
+
|
|
51
|
+
Scenario: Alice and Bob
|
|
52
|
+
Given another step passes
|
|
53
|
+
"""
|
|
54
|
+
And a file named "features/bob.feature" with:
|
|
55
|
+
"""
|
|
56
|
+
Feature: Bob
|
|
57
|
+
Scenario: Bob in Berlin
|
|
58
|
+
Given some step passes
|
|
59
|
+
When another step passes
|
|
60
|
+
"""
|
|
61
|
+
And a file named "features/steps/steps.py" with:
|
|
62
|
+
"""
|
|
63
|
+
from behave import step
|
|
64
|
+
|
|
65
|
+
@step('{word:w} step passes')
|
|
66
|
+
def step_passes(context, word):
|
|
67
|
+
pass
|
|
68
|
+
"""
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
Scenario: Exclude a feature from the test run (using: before_feature() hook)
|
|
72
|
+
Given a file named "features/environment.py" with:
|
|
73
|
+
"""
|
|
74
|
+
import sys
|
|
75
|
+
|
|
76
|
+
def should_exclude_feature(feature):
|
|
77
|
+
if "Alice" in feature.name:
|
|
78
|
+
return True
|
|
79
|
+
return False
|
|
80
|
+
|
|
81
|
+
def before_feature(context, feature):
|
|
82
|
+
if should_exclude_feature(feature):
|
|
83
|
+
sys.stdout.write("EXCLUDED-BY-USER: Feature %s\n" % feature.name)
|
|
84
|
+
feature.skip()
|
|
85
|
+
"""
|
|
86
|
+
When I run "behave -f plain -T features/"
|
|
87
|
+
Then it should pass with:
|
|
88
|
+
"""
|
|
89
|
+
1 feature passed, 0 failed, 1 skipped
|
|
90
|
+
1 scenario passed, 0 failed, 2 skipped
|
|
91
|
+
2 steps passed, 0 failed, 4 skipped, 0 undefined
|
|
92
|
+
"""
|
|
93
|
+
And the command output should contain:
|
|
94
|
+
"""
|
|
95
|
+
EXCLUDED-BY-USER: Feature Alice
|
|
96
|
+
"""
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Feature: Help Formatter
|
|
2
|
+
|
|
3
|
+
As a tester
|
|
4
|
+
I want to know which formatter are supported
|
|
5
|
+
To be able to select one.
|
|
6
|
+
|
|
7
|
+
Scenario:
|
|
8
|
+
Given a new working directory
|
|
9
|
+
When I run "behave --format=help"
|
|
10
|
+
Then it should pass
|
|
11
|
+
And the command output should contain:
|
|
12
|
+
"""
|
|
13
|
+
Available formatters:
|
|
14
|
+
json JSON dump of test run
|
|
15
|
+
json.pretty JSON dump of test run (human readable)
|
|
16
|
+
null Provides formatter that does not output anything.
|
|
17
|
+
plain Very basic formatter with maximum compatibility
|
|
18
|
+
pretty Standard colourised pretty formatter
|
|
19
|
+
progress Shows dotted progress for each executed scenario.
|
|
20
|
+
progress2 Shows dotted progress for each executed step.
|
|
21
|
+
progress3 Shows detailed progress for each step of a scenario.
|
|
22
|
+
rerun Emits scenario file locations of failing scenarios
|
|
23
|
+
sphinx.steps Generate sphinx-based documentation for step definitions.
|
|
24
|
+
steps Shows step definitions (step implementations).
|
|
25
|
+
steps.catalog Shows non-technical documentation for step definitions.
|
|
26
|
+
steps.doc Shows documentation for step definitions.
|
|
27
|
+
steps.usage Shows how step definitions are used by steps.
|
|
28
|
+
tags Shows tags (and how often they are used).
|
|
29
|
+
tags.location Shows tags and the location where they are used.
|
|
30
|
+
"""
|
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
@sequential
|
|
2
|
+
Feature: JSON Formatter
|
|
3
|
+
|
|
4
|
+
In order to process data with other tools
|
|
5
|
+
As a tester
|
|
6
|
+
I want that behave generates test run data in JSON format.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@setup
|
|
10
|
+
Scenario: Feature Setup
|
|
11
|
+
Given a new working directory
|
|
12
|
+
And a file named "features/steps/steps.py" with:
|
|
13
|
+
"""
|
|
14
|
+
from behave import step
|
|
15
|
+
|
|
16
|
+
@step('a step passes')
|
|
17
|
+
def step_passes(context):
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
@step('a step fails')
|
|
21
|
+
def step_fails(context):
|
|
22
|
+
assert False, "XFAIL-STEP"
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
Scenario: Use JSON formatter on simple feature
|
|
26
|
+
Given a file named "features/simple_feature_with_name.feature" with:
|
|
27
|
+
"""
|
|
28
|
+
Feature: Simple, empty Feature
|
|
29
|
+
"""
|
|
30
|
+
When I run "behave -f json.pretty features/simple_feature_with_name.feature"
|
|
31
|
+
Then it should pass with:
|
|
32
|
+
"""
|
|
33
|
+
0 features passed, 0 failed, 1 skipped
|
|
34
|
+
0 scenarios passed, 0 failed, 0 skipped
|
|
35
|
+
"""
|
|
36
|
+
And the command output should contain:
|
|
37
|
+
"""
|
|
38
|
+
[
|
|
39
|
+
{
|
|
40
|
+
"keyword": "Feature",
|
|
41
|
+
"location": "features/simple_feature_with_name.feature:1",
|
|
42
|
+
"name": "Simple, empty Feature",
|
|
43
|
+
"status": "skipped",
|
|
44
|
+
"tags": []
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
Scenario: Use JSON formatter on simple feature with description
|
|
50
|
+
Given a file named "features/simple_feature_with_description.feature" with:
|
|
51
|
+
"""
|
|
52
|
+
Feature: Simple feature with description
|
|
53
|
+
|
|
54
|
+
First feature description line.
|
|
55
|
+
Second feature description line.
|
|
56
|
+
|
|
57
|
+
Third feature description line (following an empty line).
|
|
58
|
+
"""
|
|
59
|
+
When I run "behave -f json.pretty features/simple_feature_with_description.feature"
|
|
60
|
+
Then it should pass with:
|
|
61
|
+
"""
|
|
62
|
+
0 features passed, 0 failed, 1 skipped
|
|
63
|
+
0 scenarios passed, 0 failed, 0 skipped
|
|
64
|
+
"""
|
|
65
|
+
And the command output should contain:
|
|
66
|
+
"""
|
|
67
|
+
[
|
|
68
|
+
{
|
|
69
|
+
"description": [
|
|
70
|
+
"First feature description line.",
|
|
71
|
+
"Second feature description line.",
|
|
72
|
+
"Third feature description line (following an empty line)."
|
|
73
|
+
],
|
|
74
|
+
"keyword": "Feature",
|
|
75
|
+
"location": "features/simple_feature_with_description.feature:1",
|
|
76
|
+
"name": "Simple feature with description",
|
|
77
|
+
"status": "skipped",
|
|
78
|
+
"tags": []
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
"""
|
|
82
|
+
|
|
83
|
+
Scenario: Use JSON formatter on simple feature with tags
|
|
84
|
+
Given a file named "features/simple_feature_with_tags.feature" with:
|
|
85
|
+
"""
|
|
86
|
+
@foo @bar
|
|
87
|
+
Feature: Simple feature with tags
|
|
88
|
+
"""
|
|
89
|
+
When I run "behave -f json.pretty features/simple_feature_with_tags.feature"
|
|
90
|
+
Then it should pass with:
|
|
91
|
+
"""
|
|
92
|
+
0 features passed, 0 failed, 1 skipped
|
|
93
|
+
0 scenarios passed, 0 failed, 0 skipped
|
|
94
|
+
"""
|
|
95
|
+
And the command output should contain:
|
|
96
|
+
"""
|
|
97
|
+
[
|
|
98
|
+
{
|
|
99
|
+
"keyword": "Feature",
|
|
100
|
+
"location": "features/simple_feature_with_tags.feature:2",
|
|
101
|
+
"name": "Simple feature with tags",
|
|
102
|
+
"status": "skipped",
|
|
103
|
+
"tags": [
|
|
104
|
+
"foo",
|
|
105
|
+
"bar"
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
Scenario: Use JSON formatter with feature and one scenario without steps
|
|
112
|
+
Given a file named "features/simple_scenario.feature" with:
|
|
113
|
+
"""
|
|
114
|
+
Feature:
|
|
115
|
+
Scenario: Simple scenario without steps
|
|
116
|
+
"""
|
|
117
|
+
When I run "behave -f json.pretty features/simple_scenario.feature"
|
|
118
|
+
Then it should pass with:
|
|
119
|
+
"""
|
|
120
|
+
1 feature passed, 0 failed, 0 skipped
|
|
121
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
122
|
+
"""
|
|
123
|
+
And the command output should contain:
|
|
124
|
+
"""
|
|
125
|
+
[
|
|
126
|
+
{
|
|
127
|
+
"elements": [
|
|
128
|
+
{
|
|
129
|
+
"keyword": "Scenario",
|
|
130
|
+
"location": "features/simple_scenario.feature:2",
|
|
131
|
+
"name": "Simple scenario without steps",
|
|
132
|
+
"status": "passed",
|
|
133
|
+
"steps": [],
|
|
134
|
+
"tags": [],
|
|
135
|
+
"type": "scenario"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"keyword": "Feature",
|
|
139
|
+
"location": "features/simple_scenario.feature:1",
|
|
140
|
+
"name": "",
|
|
141
|
+
"status": "passed",
|
|
142
|
+
"tags": []
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
"""
|
|
146
|
+
|
|
147
|
+
Scenario: Use JSON formatter with feature and one scenario with description
|
|
148
|
+
Given a file named "features/simple_scenario_with_description.feature" with:
|
|
149
|
+
"""
|
|
150
|
+
Feature:
|
|
151
|
+
Scenario: Simple scenario with description but without steps
|
|
152
|
+
|
|
153
|
+
First scenario description line.
|
|
154
|
+
Second scenario description line.
|
|
155
|
+
|
|
156
|
+
Third scenario description line (after an empty line).
|
|
157
|
+
"""
|
|
158
|
+
When I run "behave -f json.pretty features/simple_scenario_with_description.feature"
|
|
159
|
+
Then it should pass with:
|
|
160
|
+
"""
|
|
161
|
+
1 feature passed, 0 failed, 0 skipped
|
|
162
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
163
|
+
"""
|
|
164
|
+
And the command output should contain:
|
|
165
|
+
"""
|
|
166
|
+
[
|
|
167
|
+
{
|
|
168
|
+
"elements": [
|
|
169
|
+
{
|
|
170
|
+
"description": [
|
|
171
|
+
"First scenario description line.",
|
|
172
|
+
"Second scenario description line.",
|
|
173
|
+
"Third scenario description line (after an empty line)."
|
|
174
|
+
],
|
|
175
|
+
"keyword": "Scenario",
|
|
176
|
+
"location": "features/simple_scenario_with_description.feature:2",
|
|
177
|
+
"name": "Simple scenario with description but without steps",
|
|
178
|
+
"status": "passed",
|
|
179
|
+
"steps": [],
|
|
180
|
+
"tags": [],
|
|
181
|
+
"type": "scenario"
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
"keyword": "Feature",
|
|
185
|
+
"location": "features/simple_scenario_with_description.feature:1",
|
|
186
|
+
"name": "",
|
|
187
|
+
"status": "passed",
|
|
188
|
+
"tags": []
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
"""
|
|
192
|
+
|
|
193
|
+
Scenario: Use JSON formatter with feature and one scenario with tags
|
|
194
|
+
Given a file named "features/simple_scenario_with_tags.feature" with:
|
|
195
|
+
"""
|
|
196
|
+
Feature:
|
|
197
|
+
|
|
198
|
+
@foo
|
|
199
|
+
@bar
|
|
200
|
+
Scenario: Simple scenario with tags but without steps
|
|
201
|
+
"""
|
|
202
|
+
When I run "behave -f json.pretty features/simple_scenario_with_tags.feature"
|
|
203
|
+
Then it should pass with:
|
|
204
|
+
"""
|
|
205
|
+
1 feature passed, 0 failed, 0 skipped
|
|
206
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
207
|
+
"""
|
|
208
|
+
And the command output should contain:
|
|
209
|
+
"""
|
|
210
|
+
[
|
|
211
|
+
{
|
|
212
|
+
"elements": [
|
|
213
|
+
{
|
|
214
|
+
"keyword": "Scenario",
|
|
215
|
+
"location": "features/simple_scenario_with_tags.feature:5",
|
|
216
|
+
"name": "Simple scenario with tags but without steps",
|
|
217
|
+
"status": "passed",
|
|
218
|
+
"steps": [],
|
|
219
|
+
"tags": [
|
|
220
|
+
"foo",
|
|
221
|
+
"bar"
|
|
222
|
+
],
|
|
223
|
+
"type": "scenario"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"keyword": "Feature",
|
|
227
|
+
"location": "features/simple_scenario_with_tags.feature:1",
|
|
228
|
+
"name": "",
|
|
229
|
+
"status": "passed",
|
|
230
|
+
"tags": []
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
"""
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
Scenario: Use JSON formatter with type-converted step parameters
|
|
237
|
+
|
|
238
|
+
Ensure that step parameters (match arguments) leads to valid JSON
|
|
239
|
+
even when type converters are used which create non-simple types.
|
|
240
|
+
|
|
241
|
+
Given a file named "features/step_params_with_type_converter.feature" with:
|
|
242
|
+
"""
|
|
243
|
+
Feature:
|
|
244
|
+
Scenario: Use type converter
|
|
245
|
+
Given "1+2j" as complex number
|
|
246
|
+
And "red" as color
|
|
247
|
+
"""
|
|
248
|
+
And a file named "features/steps/type_converter_steps.py" with:
|
|
249
|
+
"""
|
|
250
|
+
from behave import step, register_type
|
|
251
|
+
import parse
|
|
252
|
+
|
|
253
|
+
# -- TYPES AND TYPE CONVERTERS:
|
|
254
|
+
class Color(object):
|
|
255
|
+
def __init__(self, color_name):
|
|
256
|
+
self.name = color_name
|
|
257
|
+
|
|
258
|
+
@parse.with_pattern("\w+")
|
|
259
|
+
def parse_color(text):
|
|
260
|
+
return Color(text.strip())
|
|
261
|
+
|
|
262
|
+
@parse.with_pattern(".+")
|
|
263
|
+
def parse_complex(text):
|
|
264
|
+
return complex(text)
|
|
265
|
+
|
|
266
|
+
register_type(Color=parse_color)
|
|
267
|
+
register_type(Complex=parse_complex)
|
|
268
|
+
|
|
269
|
+
# -- STEPS:
|
|
270
|
+
@step('"{number:Complex}" as complex number')
|
|
271
|
+
def step_complex_number(context, number):
|
|
272
|
+
context.number = number
|
|
273
|
+
|
|
274
|
+
@step('"{color:Color}" as color')
|
|
275
|
+
def step_color(context, color):
|
|
276
|
+
context.color = color
|
|
277
|
+
"""
|
|
278
|
+
When I run "behave -f json.pretty features/step_params_with_type_converter.feature"
|
|
279
|
+
Then it should pass with:
|
|
280
|
+
"""
|
|
281
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
282
|
+
"""
|
|
283
|
+
And the command output should contain:
|
|
284
|
+
"""
|
|
285
|
+
"match": {
|
|
286
|
+
"arguments": [
|
|
287
|
+
{
|
|
288
|
+
"name": "number",
|
|
289
|
+
"value": "1+2j"
|
|
290
|
+
}
|
|
291
|
+
],
|
|
292
|
+
"location": "features/steps/type_converter_steps.py:21"
|
|
293
|
+
},
|
|
294
|
+
"name": "\"1+2j\" as complex number",
|
|
295
|
+
"""
|
|
296
|
+
And the command output should contain:
|
|
297
|
+
"""
|
|
298
|
+
"match": {
|
|
299
|
+
"arguments": [
|
|
300
|
+
{
|
|
301
|
+
"name": "color",
|
|
302
|
+
"value": "red"
|
|
303
|
+
}
|
|
304
|
+
],
|
|
305
|
+
"location": "features/steps/type_converter_steps.py:25"
|
|
306
|
+
},
|
|
307
|
+
"name": "\"red\" as color",
|
|
308
|
+
"""
|
|
309
|
+
But note that "both matched arguments.values are provided as string"
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
@xfail
|
|
313
|
+
@regression_problem.with_duration
|
|
314
|
+
Scenario: Use JSON formatter with feature and one scenario with steps
|
|
315
|
+
Given a file named "features/scenario_with_steps.feature" with:
|
|
316
|
+
"""
|
|
317
|
+
Feature:
|
|
318
|
+
Scenario: Simple scenario with with steps
|
|
319
|
+
Given a step passes
|
|
320
|
+
When a step passes
|
|
321
|
+
Then a step passes
|
|
322
|
+
And a step passes
|
|
323
|
+
But a step passes
|
|
324
|
+
"""
|
|
325
|
+
When I run "behave -f json.pretty features/scenario_with_steps.feature"
|
|
326
|
+
Then it should pass with:
|
|
327
|
+
"""
|
|
328
|
+
1 feature passed, 0 failed, 0 skipped
|
|
329
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
330
|
+
"""
|
|
331
|
+
And the command output should contain:
|
|
332
|
+
"""
|
|
333
|
+
"steps": [
|
|
334
|
+
{
|
|
335
|
+
"keyword": "Given",
|
|
336
|
+
"location": "features/scenario_with_steps.feature:2",
|
|
337
|
+
"match": {
|
|
338
|
+
"arguments": [],
|
|
339
|
+
"location": "features/steps/steps.py:3"
|
|
340
|
+
},
|
|
341
|
+
"name": "a step passes",
|
|
342
|
+
"result": {
|
|
343
|
+
"duration": XXX,
|
|
344
|
+
"status": "passed",
|
|
345
|
+
}
|
|
346
|
+
"step_type": "given",
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"keyword": "When",
|
|
350
|
+
"location": "features/scenario_with_steps.feature:3",
|
|
351
|
+
"match": {
|
|
352
|
+
"arguments": [],
|
|
353
|
+
"location": "features/steps/steps.py:3"
|
|
354
|
+
},
|
|
355
|
+
"name": "a step passes",
|
|
356
|
+
"result": {
|
|
357
|
+
"duration": XXX,
|
|
358
|
+
"status": "passed",
|
|
359
|
+
}
|
|
360
|
+
"step_type": "when",
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"keyword": "Then",
|
|
364
|
+
"location": "features/scenario_with_steps.feature:4",
|
|
365
|
+
"match": {
|
|
366
|
+
"arguments": [],
|
|
367
|
+
"location": "features/steps/steps.py:3"
|
|
368
|
+
},
|
|
369
|
+
"name": "a step passes",
|
|
370
|
+
"result": {
|
|
371
|
+
"duration": XXX,
|
|
372
|
+
"status": "passed",
|
|
373
|
+
}
|
|
374
|
+
"step_type": "then",
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"keyword": "And",
|
|
378
|
+
"location": "features/scenario_with_steps.feature:5",
|
|
379
|
+
"match": {
|
|
380
|
+
"arguments": [],
|
|
381
|
+
"location": "features/steps/steps.py:3"
|
|
382
|
+
},
|
|
383
|
+
"name": "a step passes",
|
|
384
|
+
"result": {
|
|
385
|
+
"duration": XXX,
|
|
386
|
+
"status": "passed",
|
|
387
|
+
}
|
|
388
|
+
"step_type": "then",
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"keyword": "But",
|
|
392
|
+
"location": "features/scenario_with_steps.feature:6",
|
|
393
|
+
"match": {
|
|
394
|
+
"arguments": [],
|
|
395
|
+
"location": "features/steps/steps.py:3"
|
|
396
|
+
},
|
|
397
|
+
"name": "a step passes",
|
|
398
|
+
"result": {
|
|
399
|
+
"duration": XXX,
|
|
400
|
+
"status": "passed",
|
|
401
|
+
}
|
|
402
|
+
"step_type": "then",
|
|
403
|
+
}
|
|
404
|
+
],
|
|
405
|
+
"""
|
|
406
|
+
|
|
407
|
+
@wip
|
|
408
|
+
Scenario: Use JSON formatter with feature and two scenarios
|
|
409
|
+
|
|
410
|
+
@wip
|
|
411
|
+
Scenario: Use JSON formatter with feature and background
|
|
412
|
+
|
|
413
|
+
@wip
|
|
414
|
+
Scenario: Use JSON formatter with feature and scenario outline without steps
|
|
415
|
+
Scenario: Use JSON formatter with feature and scenario outline with description
|
|
416
|
+
Scenario: Use JSON formatter with feature and scenario outline with tags
|
|
417
|
+
Scenario: Use JSON formatter with feature and scenario outline with steps
|
|
418
|
+
Scenario: Use JSON formatter with feature and scenario outline with steps and examples
|
|
419
|
+
|
|
420
|
+
|