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.