.. _id.appendix.behave_ecosystem:

Behave Ecosystem
==============================================================================

The following tools and extensions try to simplify the work with `behave`_.

.. _behave: https://github.com/behave/behave

.. seealso::

    * `Are there any non-developer tools for writing Gherkin files ?
      <https://stackoverflow.com/questions/8275026/are-there-any-non-developer-tools-to-edit-gherkin-files>`_
      (``*.feature`` files)


Behave related Projects to Github
------------------------------------------------------------------------------

Use the following URL to  find `behave`_ related projects on Github:

* https://github.com/topics/behave?l=python



IDE Plugins
------------------------------------------------------------------------------

=============== =================== ======================================================================================
IDE             Plugin              Description
=============== =================== ======================================================================================
`PyCharm`_      `PyCharm BDD`_      PyCharm 4 (Professional edition) has **built-in support** for `behave`_.
`PyCharm`_      Gherkin             PyCharm/IDEA editor support for Gherkin.
`Eclipse`_      `Cucumber-Eclipse`_ Plugin contains editor support for Gherkin.
`VisualStudio`_ `cuke4vs`_          VisualStudio plugin with editor support for Gherkin.
=============== =================== ======================================================================================

.. _PyCharm:        https://www.jetbrains.com/pycharm/
.. _Eclipse:        http://www.eclipse.org/
.. _VisualStudio:   https://www.visualstudio.com/

.. _`PyCharm BDD`: https://blog.jetbrains.com/pycharm/2014/09/feature-spotlight-behavior-driven-development-in-pycharm/
.. _`Cucumber-Eclipse`: http://cucumber.github.io/cucumber-eclipse/
.. _cuke4vs:        https://github.com/henritersteeg/cuke4vs

.. hidden_BROKEN:

    https://www.jetbrains.com/pycharm/whatsnew/#BDD

.. hidden_NEW:


    https://blog.jetbrains.com/pycharm/2017/06/upgrade-your-testing-with-behavior-driven-development/
    https://anvileight.com/blog/2016/04/12/behavior-driven-development-pycharm-python-django/

    https://www.udemy.com/bdd-testing-with-python/



Editors and Editor Plugins
------------------------------------------------------------------------------

=================== ======================= =============================================================================
Editor              Plugin                  Description
=================== ======================= =============================================================================
`gedit`_            `gedit_behave`_         `gedit`_ plugin for jumping between feature and step files.
`Gherkin editor`_   ---                     An editor for writing ``*.feature`` files.
`Notepad++`_        `NP++ gherkin`_         Notepad++ editor syntax highlighting for Gherkin.
`Sublime Text`_     `Cucumber (ST Bundle)`_ Gherkin editor support, table formatting.
`Sublime Text`_     `Behave Step Finder`_   Helps to navigate to steps in behave.
`vim`_              `vim-behave`_           `vim`_ plugin: Port of `vim-cucumber`_ to Python `behave`_.
=================== ======================= =============================================================================

.. _`Notepad++`: https://notepad-plus-plus.org/
.. _gedit:  https://wiki.gnome.org/Apps/Gedit
.. _vim:    http://www.vim.org/
.. _`Sublime Text`:    http://www.sublimetext.com

.. _`Gherkin editor`: http://gherkineditor.codeplex.com
.. _gedit_behave:   https://gitlab.com/mcepl/gedit_behave
.. _`NP++ gherkin`: http://productive.me/develop/cucumbergherkin-syntax-highlighting-for-notepad
.. _vim-behave:     https://github.com/rooprob/vim-behave
.. _vim-cucumber:   https://github.com/tpope/vim-cucumber
.. _`Cucumber (ST Bundle)`:    https://packagecontrol.io/packages/Cucumber
.. _Behave Step Finder: https://packagecontrol.io/packages/Behave%20Step%20Finder


Tools
------------------------------------------------------------------------------

=========================== ===========================================================================
Tool                        Description
=========================== ===========================================================================
:pypi:`cucutags`            Generate `ctags`_-like information (cross-reference index)
                            for Gherkin feature files and behave step definitions.
=========================== ===========================================================================

.. _gitlab_cucutags:   https://gitlab.com/mcepl/cucutags
.. _ctags:      http://ctags.sourceforge.net/

