{ "info": { "author": "Zeb Mason", "author_email": "consulting@cyclerouter.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)", "Operating System :: OS Independent", "Programming Language :: C#", "Programming Language :: C++", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Visual Basic", "Topic :: Software Development :: Code Generators", "Topic :: Software Development :: Testing :: BDD", "Topic :: Text Processing" ], "description": "# Cornichon\n\n[![Build Status](https://api.travis-ci.org/zebmason/Cornichon.svg?branch=master)](https://travis-ci.org/zebmason/Cornichon)\n\n## Introduction\nA small Gherkin DSL parser which reads in a feature file and produces stub code\nagainst a given test framework. This allows BDD to be integrated into new and existing\nprojects without the need to depend on [Cucumber](https://cucumber.io/).\n\nThe generated code is split into two files - the tests themselves and a set of scenario classes.\nThis is to allow for:\n* easier version control of the source code\n* re-use of the scenario classes generation between unit test frameworks for the same language\n\nThe parser is written in Python and loads plug-ins for the desired output type.\n\n## Usage\n\nA very basic test generator might look like\n```\nimport cornichon\n\n\n# Read the Gherkin DSL\nf = open(\"example.feature\", \"r\")\ngherkin = f.readlines()\nf.close()\n\n# Only need to call Settings for the test framework as it builds\n# on those settings for the scenarios\nsettings = cornichon.Settings(\"cpp/cppunittest\")\nsettings[\"rootnamespace\"] = \"Cornichon::\"\nsettings[\"scenarios file\"] = \"example.h\"\n\n# Generate the tests\nfp = open(\"example.cpp\", \"w\")\nfp.write(cornichon.Generate(gherkin, settings, \"cpp/cppunittest\"))\nfp.close()\n\n# Generate the test scenarios\nfp = open(\"example.h\", \"w\")\nfp.write(cornichon.Generate(gherkin, settings, \"cpp/cppscenarios\"))\nfp.close()\n```\n\nThe values of the settings can be listed,\n```\ncornichon.PrintSettings(settings)\n```\n\nAn explanation of those values can be printed,\n```\ncornichon.HelpSettings(\"cpp/cppunittest\")\n```\n\nThe list of available output types can be printed,\n```\ncornichon.ListModules()\n```\n\n## Test frameworks\n\n### C++\n\nThe scenario classes are generated using `cpp/cppscenarios`.\n\nThe supported frameworks are:\n* `cpp/cppunittest` - Microsoft's Visual C++ test framework\n* `cpp/googletest` - Google Test\n\n### C#\n\nThe scenario classes are generated using `cs/csscenarios`.\n\nThe supported frameworks are:\n* `cs/unittesting` - Microsoft's Unit Testing framework\n* `cs/nunit` - NUnit\n\n### Python\n\nThe scenario classes are generated using `py/pyscenarios`.\n\nThe supported frameworks are:\n* `py/pyunit_tests` - unittest, the standard Python unit testing framework\n\n### Visual Basic\n\nThe scenario classes are generated using `vb/vbscenarios`.\n\nThe supported frameworks are:\n* `vb/unittesting` - Microsoft's Unit Testing framework\n* `vb/nunit` - NUnit\n\n## Contributing\n\nContributions are welcome. Please follow the directory layout for the location\nof the plug-ins and their associated generated code for `example.feature`.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/zebmason/Cornichon", "keywords": "", "license": "LGPL v2", "maintainer": "Zeb Mason", "maintainer_email": "consulting@cyclerouter.co.uk", "name": "cornichon", "package_url": "https://pypi.org/project/cornichon/", "platform": "", "project_url": "https://pypi.org/project/cornichon/", "project_urls": { "Homepage": "https://github.com/zebmason/Cornichon" }, "release_url": "https://pypi.org/project/cornichon/0.9.3/", "requires_dist": null, "requires_python": ">=3.0.0", "summary": "A small Gherkin DSL parser that generates stub code", "version": "0.9.3" }, "last_serial": 5957334, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "fbe0f5d7a84ea3b72a9bf8fc777d27a9", "sha256": "3b47ef621e0ff1eca596783304bb4822a729cda30de8a4e58432d7751a19f8b9" }, "downloads": -1, "filename": "cornichon-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fbe0f5d7a84ea3b72a9bf8fc777d27a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7.0", "size": 29670, "upload_time": "2019-10-09T08:13:42", "url": "https://files.pythonhosted.org/packages/4a/63/a304895aa3726b4fd783f2066ac4779b5e627cdcfda26a0e7d9a09e40f4d/cornichon-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06663ae3658f154c4f8096e4a4045f75", "sha256": "21a8e546472bc5db2f1ee5720b00076024e788a3c05a92523eef839cf71fd6ac" }, "downloads": -1, "filename": "cornichon-0.9.0.tar.gz", "has_sig": false, "md5_digest": "06663ae3658f154c4f8096e4a4045f75", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 11126, "upload_time": "2019-10-09T08:13:44", "url": "https://files.pythonhosted.org/packages/ed/ee/5bed408d24a9c7f9039f98be07ab1e0ba1f2d9b2134903a154d7b5213577/cornichon-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "b6dff9ecf36ff6e0fb1da3ad39d63fad", "sha256": "d016c32d8aa7bb8f10fff2d4ae80d9dcf94ebe824c2336f394f37ffa93bf8531" }, "downloads": -1, "filename": "cornichon-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b6dff9ecf36ff6e0fb1da3ad39d63fad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7.0", "size": 36008, "upload_time": "2019-10-09T17:18:20", "url": "https://files.pythonhosted.org/packages/23/c8/15e7f1fb24f89900d0ed80f1d15cd1492663b06c8b6fd454a7f7bb5dcfef/cornichon-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee549fc039b1705a32ed5ce045bb2f98", "sha256": "8af09ae489b1fc143bffd914b9870333dae000350cdd38c7fd49ccc8630611c1" }, "downloads": -1, "filename": "cornichon-0.9.1.tar.gz", "has_sig": false, "md5_digest": "ee549fc039b1705a32ed5ce045bb2f98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 17731, "upload_time": "2019-10-09T17:18:21", "url": "https://files.pythonhosted.org/packages/33/9b/8da66704f5b1bda76cd9bfc40dff3ab737fd437b7a85ab87ab82289f9946/cornichon-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "b40263fbad897c97d6c50d32a2c45434", "sha256": "0ca974048bc5e579081be11e990574c54c422c6285e73259b1b626737b943d61" }, "downloads": -1, "filename": "cornichon-0.9.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b40263fbad897c97d6c50d32a2c45434", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0.0", "size": 36005, "upload_time": "2019-10-10T10:06:50", "url": "https://files.pythonhosted.org/packages/d9/67/b0248e7911e7094967d7986af32acf2f10dd5440a91a38d24758e8a58436/cornichon-0.9.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb1366d6d39dfbcf3b7239ae320711ac", "sha256": "985cd9df455f6d4a80383cbfdf8d6abbec4aafcfb076480066139fc953bfdfe6" }, "downloads": -1, "filename": "cornichon-0.9.2.tar.gz", "has_sig": false, "md5_digest": "cb1366d6d39dfbcf3b7239ae320711ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0.0", "size": 17740, "upload_time": "2019-10-10T10:06:52", "url": "https://files.pythonhosted.org/packages/a8/af/984c9dd12215f67da674f43dd4439c50ba4d75cf5d3db24fc02809e3d591/cornichon-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "03490777c84ddb04e819bea2a8953baf", "sha256": "50dd53bf9c2ce102a25bff3cd384f6ce53cc273344703dcea51ae22e7d3a28af" }, "downloads": -1, "filename": "cornichon-0.9.3-py3-none-any.whl", "has_sig": false, "md5_digest": "03490777c84ddb04e819bea2a8953baf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0.0", "size": 36155, "upload_time": "2019-10-10T22:37:15", "url": "https://files.pythonhosted.org/packages/d2/63/877c8442a45029abddd917ee96e8548e14ec6bc8b83ade59469ce14c6ec1/cornichon-0.9.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6570f5bc1739c7685025f123ed9ccc46", "sha256": "678582ebb0a342a3171d2c063c4c58b4f84192ade5ea7506c012d74bffc34e36" }, "downloads": -1, "filename": "cornichon-0.9.3.tar.gz", "has_sig": false, "md5_digest": "6570f5bc1739c7685025f123ed9ccc46", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0.0", "size": 18866, "upload_time": "2019-10-10T22:37:18", "url": "https://files.pythonhosted.org/packages/a9/54/7b7938e7750b7b6ef85f965248cef5ff8fed39ef84c96e37caaa5768d864/cornichon-0.9.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "03490777c84ddb04e819bea2a8953baf", "sha256": "50dd53bf9c2ce102a25bff3cd384f6ce53cc273344703dcea51ae22e7d3a28af" }, "downloads": -1, "filename": "cornichon-0.9.3-py3-none-any.whl", "has_sig": false, "md5_digest": "03490777c84ddb04e819bea2a8953baf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0.0", "size": 36155, "upload_time": "2019-10-10T22:37:15", "url": "https://files.pythonhosted.org/packages/d2/63/877c8442a45029abddd917ee96e8548e14ec6bc8b83ade59469ce14c6ec1/cornichon-0.9.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6570f5bc1739c7685025f123ed9ccc46", "sha256": "678582ebb0a342a3171d2c063c4c58b4f84192ade5ea7506c012d74bffc34e36" }, "downloads": -1, "filename": "cornichon-0.9.3.tar.gz", "has_sig": false, "md5_digest": "6570f5bc1739c7685025f123ed9ccc46", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0.0", "size": 18866, "upload_time": "2019-10-10T22:37:18", "url": "https://files.pythonhosted.org/packages/a9/54/7b7938e7750b7b6ef85f965248cef5ff8fed39ef84c96e37caaa5768d864/cornichon-0.9.3.tar.gz" } ] }