Contributing¶
If you find a bug you can fix or want to contribute an enhancement you’re welcome to open an issue on GitHub or create a pull request directly.
Using invoke for Development¶
For most development tasks we have invoke commands.
Install all requirements for running tasks using Pip, e.g.
python3 -m pip install -r tasks/py.requirements.txt
Display all available invoke commands like this:
invoke -l
If you’re curious, all invoke tasks are located in the tasks/
folder.
Update Gherkin Language Specification¶
An invoke command will download the latest Gherkin language
specification and update the behave/i18n.py module:
invoke develop.update-gherkin
If there were changes this command will have updated two files:
etc/gherkin/gherkin-languages.json(original Cucumber JSON spec)behave/i18n.py (Python module generated from the JSON spec)
Put both under version control and open a PR to merge them.
Update Documentation¶
Our documentation is written in reStructuredText, and built and hosted
on ReadTheDocs. Make your changes to the files in the docs/ folder
and build the documentation with:
invoke docs
or, alternatively, using Tox:
tox -e docs
Hint
Building the docs requires Sphinx and DocUtils. If your build fails because those are missing, run:
python3 -m pip install -r py.requirements/docs.txt
Once the docs are built successfully, sphinx will tell you where it
generated the HTML output (typically build/docs/html), which you can
then inspect locally.