Skip to content

jthiard/behave-django

 
 

Repository files navigation

behave-django

Build Status Latest Version Downloads

Behave BDD integration for Django

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

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.

Installation

Install using pip

$ pip install behave-django

Add behave_django to your INSTALLED_APPS

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

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.

Documentation

How to Contribute

Please, read the contributing guide.

About

Behave BDD integration for Django

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 86.9%
  • Gherkin 12.8%
  • HTML 0.3%