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.
Like nose2, py.test is another popular third-party test runner. py.test supports many features like the following:
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.
One of py.test's most unique features is funcargs. Take a look at the following...