Behaviour Driven Development in Python
Project description
Behaviour provides a language suitable for Behaviour Driven Development (BDD), as opposed to post-coding unit testing. It operates as a facade over Python’s unit testing framework.
What is Behaviour Driven Development?
BDD is a derivative of Test Driven Development (TDD), evolving out of the observed adoption-life-cycle for TDD:
A developer starts using a unit testing framework (like unittest.py).
The developer becomes more confident in the quality of his work.
They realize that writing the tests first lets them concentrate on writing the code they needs.
The developer notices that the tests document the code.
Writing tests first helps the developer to design the API for their code.
The developer realizes that TDD is about defining behaviour rather than testing.
The developer adopts mocking as a fundamental approach to support component interactions.
BDD supports the progression through that life-cycle, particularly the last three steps.
BDD supports this transition is by providing an appropriate language. Frameworks for BDD talk about either specifications (e.g., RSpec for Ruby, NSpec for C#.NET) or behaviours (e.g., JBehave for Java, NBehave for .NET).
For more information on BDD, see:
Introducing BDD by Dan North;
A New Look at Test-Driven Development by Dave Astels;
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.