Behave BDD integration for Django
Project description
behave-django
=============
.. intro-marker
|Build Status| |Latest Version|
Behave BDD integration for Django
.. features-marker
Features
--------
- Web Browser Automation ready
- Database transactions per scenario
- Use Django's testing client
- Use unittest + Django assert library
- Use behave's command line arguments
- Use behave's configuration file
- Fixture loading
.. support-marker
Support
-------
behave-django supports all current Django and Python versions.
Specifically, our tests cover:
Django 1.4.20, 1.5.12, 1.6.11, 1.7.8, 1.8.2, and Python 2.6, 2.7, 3.3, 3.4.
.. install-marker
Installation
------------
Install using pip
.. code:: bash
$ pip install behave-django
Add ``behave_django`` to your ``INSTALLED_APPS``
.. code:: python
INSTALLED_APPS += ('behave_django',)
Create the features directory in your project’s root directory. (Next to
``manage.py``)
::
features/
steps/
your_steps.py
environment.py
your-feature.feature
Setup your ``environment.py`` file
.. code:: python
from behave_django import environment
def before_scenario(context, scenario):
environment.before_scenario(context, scenario)
def after_scenario(context, scenario):
environment.after_scenario(context, scenario)
Run ``python manage.py behave``
::
$ python manage.py behave
Creating test database for alias 'default'...
Feature: Running tests # features/running-tests.feature:1
In order to prove that behave-django works
As the Maintainer
I want to test running behave against this features directory
Scenario: The Test # features/running-tests.feature:6
Given this step exists # features/steps/running_tests.py:4 0.000s
When I run "python manage.py behave" # features/steps/running_tests.py:9 0.000s
Then I should see the behave tests run # features/steps/running_tests.py:14 0.000s
1 features passed, 0 failed, 0 skipped
1 scenarios passed, 0 failed, 0 skipped
3 steps passed, 0 failed, 0 skipped, 0 undefined
Took.010s
Destroying test database for alias 'default'...
.. note::
Starting with version ``0.2.0``, you no longer need to insert the ``environment.before_scenario()`` and ``environment.after_scenario()`` functions in your ``environment.py`` file. The hooks are now included via monkey patching.
.. docs-marker
Documentation
-------------
- Documentation is available from `pythonhosted.org/behave-django`_
- Read more about *behave* at `pythonhosted.org/behave`_
.. contribute-marker
How to Contribute
-----------------
Please, read the `contributing guide`_.
.. _pythonhosted.org/behave-django: https://pythonhosted.org/behave-django/
.. _pythonhosted.org/behave: http://pythonhosted.org/behave/
.. _contributing guide: https://github.com/mixxorz/behave-django/blob/master/CONTRIBUTING.md
.. |Build Status| image:: https://travis-ci.org/mixxorz/behave-django.svg?branch=master
:target: https://travis-ci.org/mixxorz/behave-django
.. |Latest Version| image:: https://badge.fury.io/py/behave-django.svg
:target: http://badge.fury.io/py/behave-django
=============
.. intro-marker
|Build Status| |Latest Version|
Behave BDD integration for Django
.. features-marker
Features
--------
- Web Browser Automation ready
- Database transactions per scenario
- Use Django's testing client
- Use unittest + Django assert library
- Use behave's command line arguments
- Use behave's configuration file
- Fixture loading
.. support-marker
Support
-------
behave-django supports all current Django and Python versions.
Specifically, our tests cover:
Django 1.4.20, 1.5.12, 1.6.11, 1.7.8, 1.8.2, and Python 2.6, 2.7, 3.3, 3.4.
.. install-marker
Installation
------------
Install using pip
.. code:: bash
$ pip install behave-django
Add ``behave_django`` to your ``INSTALLED_APPS``
.. code:: python
INSTALLED_APPS += ('behave_django',)
Create the features directory in your project’s root directory. (Next to
``manage.py``)
::
features/
steps/
your_steps.py
environment.py
your-feature.feature
Setup your ``environment.py`` file
.. code:: python
from behave_django import environment
def before_scenario(context, scenario):
environment.before_scenario(context, scenario)
def after_scenario(context, scenario):
environment.after_scenario(context, scenario)
Run ``python manage.py behave``
::
$ python manage.py behave
Creating test database for alias 'default'...
Feature: Running tests # features/running-tests.feature:1
In order to prove that behave-django works
As the Maintainer
I want to test running behave against this features directory
Scenario: The Test # features/running-tests.feature:6
Given this step exists # features/steps/running_tests.py:4 0.000s
When I run "python manage.py behave" # features/steps/running_tests.py:9 0.000s
Then I should see the behave tests run # features/steps/running_tests.py:14 0.000s
1 features passed, 0 failed, 0 skipped
1 scenarios passed, 0 failed, 0 skipped
3 steps passed, 0 failed, 0 skipped, 0 undefined
Took.010s
Destroying test database for alias 'default'...
.. note::
Starting with version ``0.2.0``, you no longer need to insert the ``environment.before_scenario()`` and ``environment.after_scenario()`` functions in your ``environment.py`` file. The hooks are now included via monkey patching.
.. docs-marker
Documentation
-------------
- Documentation is available from `pythonhosted.org/behave-django`_
- Read more about *behave* at `pythonhosted.org/behave`_
.. contribute-marker
How to Contribute
-----------------
Please, read the `contributing guide`_.
.. _pythonhosted.org/behave-django: https://pythonhosted.org/behave-django/
.. _pythonhosted.org/behave: http://pythonhosted.org/behave/
.. _contributing guide: https://github.com/mixxorz/behave-django/blob/master/CONTRIBUTING.md
.. |Build Status| image:: https://travis-ci.org/mixxorz/behave-django.svg?branch=master
:target: https://travis-ci.org/mixxorz/behave-django
.. |Latest Version| image:: https://badge.fury.io/py/behave-django.svg
:target: http://badge.fury.io/py/behave-django
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
behave-django-0.2.0.tar.gz
(5.2 kB
view hashes)