TDD tools
We looked at the nose2 test runner earlier in this book. Python has other popular third-party test runners. Python also has a number of libraries to make assertions more flexible and readable. These libraries can be used with both unittest
compatible tests and the function style tests supported by third-party test runners. Let us take a look at some of these TDD tools.
py.test
Like nose2, py.test is another popular third-party test runner. py.test supports many features like the following:
Writing tests as ordinary functions.
Using Python's
assert
statement to perform asserts.Ability to skip tests or mark tests as expected failures.
Fixtures with setup and teardown support.
Extensible plugin framework, with plugins available to do popular functionality such as XML output, coverage reporting, and running tests in parallel across multiple processors or cores.
Tag tests with attributes.
Integration with popular tools.
One of py.test's most unique features is funcargs. Take a look at the following...