BDD (Behavior-driven Development) is another hot acronym that you might have come across. In BDD, we start by defining (in English) the expected behavior of the system under test according to certain conventions and rules. In this recipe, we will see an example of those conventions.
The idea behind this approach is that we can have people who may not be able to program, or write a major part of the tests. A feature written by these people takes the form of a sentence consisting of several steps. Each step is more or less a unit test that we can write, for instance, using NumPy. There are many Python BDD frameworks. In this recipe, we use Lettuce to test the factorial function.
In this section, you will learn how to install Lettuce, set up the tests, and write the specifications for the tests:
To install Lettuce, run either of the following commands:
$ pip install lettuce $ sudo easy_install lettuce
Lettuce requires a special directory structure for the tests...