{ "info": { "author": "Jens Engel, Benno Rice and Richard Jones", "author_email": "behave-users@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: Jython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Testing" ], "description": ".. image:: https://img.shields.io/travis/behave/behave/master.svg\n :target: https://travis-ci.org/behave/behave\n :alt: Travis CI Build Status\n\n.. image:: https://readthedocs.org/projects/behave/badge/?version=latest\n :target: http://behave.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/v/behave.svg\n :target: https://pypi.python.org/pypi/behave\n :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/dm/behave.svg\n :target: https://pypi.python.org/pypi/behave\n :alt: Downloads\n\n.. image:: https://img.shields.io/pypi/l/behave.svg\n :target: https://pypi.python.org/pypi/behave/\n :alt: License\n\n.. image:: https://badges.gitter.im/Join%20Chat.svg\n :alt: Join the chat at https://gitter.im/behave/behave\n :target: https://gitter.im/behave/behave?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\n\n.. |logo| image:: https://raw.github.com/behave/behave/master/docs/_static/behave_logo1.png\n\nbehave is behavior-driven development, Python style.\n\n|logo|\n\nBehavior-driven development (or BDD) is an agile software development\ntechnique that encourages collaboration between developers, QA and\nnon-technical or business participants in a software project.\n\n*behave* uses tests written in a natural language style, backed up by Python\ncode.\n\nFirst, `install *behave*.`_\n\n\nNow make a directory called \"features/\".\nIn that directory create a file called \"example.feature\" containing:\n\n.. code-block:: gherkin\n\n # -- FILE: features/example.feature\n Feature: Showing off behave\n\n Scenario: Run a simple test\n Given we have behave installed\n When we implement 5 tests\n Then behave will test them for us!\n\nMake a new directory called \"features/steps/\".\nIn that directory create a file called \"example_steps.py\" containing:\n\n.. code-block:: python\n\n # -- FILE: features/steps/example_steps.py\n from behave import given, when, then, step\n\n @given('we have behave installed')\n def step_impl(context):\n pass\n\n @when('we implement {number:d} tests')\n def step_impl(context, number): # -- NOTE: number is converted into integer\n assert number > 1 or number == 0\n context.tests_count = number\n\n @then('behave will test them for us!')\n def step_impl(context):\n assert context.failed is False\n assert context.tests_count >= 0\n\nRun behave:\n\n.. code-block:: bash\n\n $ behave\n Feature: Showing off behave # features/example.feature:2\n\n Scenario: Run a simple test # features/example.feature:4\n Given we have behave installed # features/steps/example_steps.py:4\n When we implement 5 tests # features/steps/example_steps.py:8\n Then behave will test them for us! # features/steps/example_steps.py:13\n\n 1 feature passed, 0 failed, 0 skipped\n 1 scenario passed, 0 failed, 0 skipped\n 3 steps passed, 0 failed, 0 skipped, 0 undefined\n\nNow, continue reading to learn how to get the most out of *behave*. To get started,\nwe recommend the `tutorial`_ and then the `feature testing language`_ and\n`api`_ references.\n\n\n.. _`Install *behave*.`: http://pythonhosted.org/behave/install.html\n.. _`tutorial`: http://pythonhosted.org/behave/tutorial.html#features\n.. _`feature testing language`: http://pythonhosted.org/behave/gherkin.html\n.. _`api`: http://pythonhosted.org/behave/api.html\n\n\nMore Information\n-------------------------------------------------------------------------------\n\n* `behave documentation`_: `latest edition`_, `stable edition`_, `PDF`_\n* `behave.example`_: Behave Examples and Tutorials (docs, executable examples).\n* `changelog`_ (latest changes)\n\n\n.. _behave documentation: http://behave.readthedocs.io/\n.. _changelog: https://github.com/behave/behave/blob/master/CHANGES.rst\n.. _behave.example: https://github.com/behave/behave.example\n\n.. _`latest edition`: http://behave.readthedocs.io/en/latest/\n.. _`stable edition`: http://behave.readthedocs.io/en/stable/\n.. _PDF: https://media.readthedocs.org/pdf/behave/latest/behave.pdf\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/behave/behave", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "behave", "package_url": "https://pypi.org/project/behave/", "platform": "", "project_url": "https://pypi.org/project/behave/", "project_urls": { "Homepage": "http://github.com/behave/behave" }, "release_url": "https://pypi.org/project/behave/1.2.6/", "requires_dist": [ "parse (>=1.8.2)", "parse-type (>=0.4.2)", "six (>=1.11)", "argparse; python_version < \"2.7\"", "importlib; python_version < \"2.7\"", "ordereddict; python_version < \"2.7\"", "traceback2; python_version < \"3.0\"", "enum34; python_version < \"3.4\"", "coverage; extra == 'develop'", "pytest (>=3.0); extra == 'develop'", "pytest-cov; extra == 'develop'", "tox; extra == 'develop'", "invoke (>=0.21.0); extra == 'develop'", "path.py (>=8.1.2); extra == 'develop'", "pycmd; extra == 'develop'", "pathlib; extra == 'develop'", "modernize (>=0.5); extra == 'develop'", "pylint; extra == 'develop'", "sphinx (>=1.6); extra == 'docs'", "sphinx-bootstrap-theme (>=0.6); extra == 'docs'" ], "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*", "summary": "behave is behaviour-driven development, Python style", "version": "1.2.6" }, "last_serial": 3618766, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "2dcb7484f414b950ad75e14510e5eae9", "sha256": "da538524bf43e464d37b57a9b4515a88e3d062d653096f649f573df48a7dbb1e" }, "downloads": -1, "filename": "behave-1.0.0.tar.gz", "has_sig": false, "md5_digest": "2dcb7484f414b950ad75e14510e5eae9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41798, "upload_time": "2011-12-05T10:28:41", "url": "https://files.pythonhosted.org/packages/e2/ad/6ee5e8a1038758ab443f8ae3898e6789d60018d2f8631f774b4a117c1461/behave-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "fa044da8fd2ce1c78ef87c239fd60ba1", "sha256": "de77ceb5e81cbe3d44f3d3c47a96be938aa64d83f80d1d74bd701cfb35253c76" }, "downloads": -1, "filename": "behave-1.1.0.tar.gz", "has_sig": false, "md5_digest": "fa044da8fd2ce1c78ef87c239fd60ba1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48574, "upload_time": "2012-01-23T06:34:47", "url": "https://files.pythonhosted.org/packages/3c/d6/b86a3e4869f273c90031d9c8b4b03d21bd4f28951d927af642d17dc792fe/behave-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "e08f026baba15027b563637c03b0c22c", "sha256": "625710efb8730ce72b3d204d7584f5bcac6b4b31270c8b952c21301198b953bc" }, "downloads": -1, "filename": "behave-1.2.0.tar.gz", "has_sig": false, "md5_digest": "e08f026baba15027b563637c03b0c22c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51985, "upload_time": "2012-08-17T23:49:21", "url": "https://files.pythonhosted.org/packages/9f/1e/7340a124990fd3175c32c7ea9755b4c57cfcb94c445dacfa3ba248972188/behave-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "4811ed15e17245472bcece7cb4d9e6d1", "sha256": "33a0e90cb6e6e7c14e1a887122b2a971cec8b9c74b77b88c27d3588e27219321" }, "downloads": -1, "filename": "behave-1.2.1.tar.gz", "has_sig": false, "md5_digest": "4811ed15e17245472bcece7cb4d9e6d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51984, "upload_time": "2012-08-19T01:34:22", "url": "https://files.pythonhosted.org/packages/bd/2d/8f22d95fc167b6223e77810735d757de71a31383c01ed1d92efad9f9fc22/behave-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "488eb98c0b01b51578f479d58ea0f6d8", "sha256": "d26dd85a2b567a7bcc8eb87bff056a2d5a392f0df7c1afd50d37e87b4caaa22b" }, "downloads": -1, "filename": "behave-1.2.2.tar.gz", "has_sig": false, "md5_digest": "488eb98c0b01b51578f479d58ea0f6d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52085, "upload_time": "2012-08-21T01:11:43", "url": "https://files.pythonhosted.org/packages/eb/f5/5d578da1c9d65176da3b8b0ac970a22e3d683297017adad21a379b229c53/behave-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "5191bc75c4de7051abbec73c93b399e9", "sha256": "b17529c1c49e9e3dccae9e1684f100e28dcf988cd4809d61fcf4768b80e9e329" }, "downloads": -1, "filename": "behave-1.2.3.tar.gz", "has_sig": false, "md5_digest": "5191bc75c4de7051abbec73c93b399e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 335995, "upload_time": "2013-07-08T20:54:30", "url": "https://files.pythonhosted.org/packages/1d/4e/e26b1543b700cdc903398505ff34b6903252c249893a9b3da61e8256359d/behave-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "13c21668c1434f67941955ffe9e12d26", "sha256": "24542aadd9eeb3a471076f9d880a69250052153df93122d9991938db917759ec" }, "downloads": -1, "filename": "behave-1.2.4.tar.gz", "has_sig": false, "md5_digest": "13c21668c1434f67941955ffe9e12d26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 343050, "upload_time": "2014-03-02T17:33:26", "url": "https://files.pythonhosted.org/packages/ba/f4/325635a634419260ea6a237e0846f6a0599195c92d7adb147ae5d06d40d1/behave-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "1cb1f8b925fa215926748b63e420d086", "sha256": "89238a5e4b11ff607e8ebc6b4b1fb1a0b1f3d794fba80e1fb4b6b3652979c927" }, "downloads": -1, "filename": "behave-1.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1cb1f8b925fa215926748b63e420d086", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 109970, "upload_time": "2015-01-31T16:25:49", "url": "https://files.pythonhosted.org/packages/e6/9f/5232e488461eb4f6eec04d49da22050f32f54eebf212525d67ef198f2527/behave-1.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "baf74695d42137c6c62d9348b25f3dec", "sha256": "8c182feece4a519c5ffc11e1ab3682d25d5a390dd5f4573bb1296443beb9d7c7" }, "downloads": -1, "filename": "behave-1.2.5.tar.bz2", "has_sig": false, "md5_digest": "baf74695d42137c6c62d9348b25f3dec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 348877, "upload_time": "2015-01-31T16:25:54", "url": "https://files.pythonhosted.org/packages/dc/28/7cb21401d5f9b144e8bc71b1c5f9f9097f81a2d539ccc8d127fe8d3f6468/behave-1.2.5.tar.bz2" }, { "comment_text": "", "digests": { "md5": "3af4bc2886d2be982e41bfaba61da3bc", "sha256": "81b731ac5187e31e4aad2594944fa914943683a9818320846d037c5ebd6d5d0b" }, "downloads": -1, "filename": "behave-1.2.5.tar.gz", "has_sig": false, "md5_digest": "3af4bc2886d2be982e41bfaba61da3bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 385738, "upload_time": "2015-01-31T16:25:59", "url": "https://files.pythonhosted.org/packages/9e/fd/430a2784e4892b2585dd1926acd847b815e3fc0f00fbe0800e376b9c0222/behave-1.2.5.tar.gz" }, { "comment_text": "", "digests": { "md5": "c943cb1568d856be4b1f1d730766ad35", "sha256": "07c741f30497b6f9361a9bc74c68418507cd17e70d6f586faa3bff57684a2ec8" }, "downloads": -1, "filename": "behave-1.2.5.zip", "has_sig": false, "md5_digest": "c943cb1568d856be4b1f1d730766ad35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 542072, "upload_time": "2015-01-31T16:26:04", "url": "https://files.pythonhosted.org/packages/74/52/7ffce21dbad1b75c7da35b2c6f6f05ce2302364bf2f3b0abc6e1979b8e27/behave-1.2.5.zip" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "5ff5b8fae7c5a1a2c8963cfa6186eb42", "sha256": "ebda1a6c9e5bfe95c5f9f0a2794e01c7098b3dde86c10a95d8621c5907ff6f1c" }, "downloads": -1, "filename": "behave-1.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5ff5b8fae7c5a1a2c8963cfa6186eb42", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*", "size": 136779, "upload_time": "2018-02-25T20:06:34", "url": "https://files.pythonhosted.org/packages/a8/6c/ec9169548b6c4cb877aaa6773408ca08ae2a282805b958dbc163cb19822d/behave-1.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f05c859a1c45f5ed33e925817ad887d", "sha256": "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86" }, "downloads": -1, "filename": "behave-1.2.6.tar.gz", "has_sig": false, "md5_digest": "3f05c859a1c45f5ed33e925817ad887d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*", "size": 701696, "upload_time": "2018-02-25T20:06:38", "url": "https://files.pythonhosted.org/packages/c8/4b/d0a8c23b6c8985e5544ea96d27105a273ea22051317f850c2cdbf2029fe4/behave-1.2.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5ff5b8fae7c5a1a2c8963cfa6186eb42", "sha256": "ebda1a6c9e5bfe95c5f9f0a2794e01c7098b3dde86c10a95d8621c5907ff6f1c" }, "downloads": -1, "filename": "behave-1.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5ff5b8fae7c5a1a2c8963cfa6186eb42", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*", "size": 136779, "upload_time": "2018-02-25T20:06:34", "url": "https://files.pythonhosted.org/packages/a8/6c/ec9169548b6c4cb877aaa6773408ca08ae2a282805b958dbc163cb19822d/behave-1.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f05c859a1c45f5ed33e925817ad887d", "sha256": "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86" }, "downloads": -1, "filename": "behave-1.2.6.tar.gz", "has_sig": false, "md5_digest": "3f05c859a1c45f5ed33e925817ad887d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*", "size": 701696, "upload_time": "2018-02-25T20:06:38", "url": "https://files.pythonhosted.org/packages/c8/4b/d0a8c23b6c8985e5544ea96d27105a273ea22051317f850c2cdbf2029fe4/behave-1.2.6.tar.gz" } ] }