The Python unittest
module requires a lot of boilerplate code to set up and initialize tests. It is based on the very popular JUnit testing framework for Java. It even uses the same method names (you may have noticed they don't conform to the PEP-8 naming standard, which suggests underscores rather than CamelCase to separate words in a method name) and test layout. While this is effective for testing in Java, it's not necessarily the best design for Python testing.
Because Python programmers like their code to be elegant and simple, other test frameworks have been developed, outside the standard library. Two of the more popular ones are py.test
and nose
. The former is more robust and has had Python 3 support for much longer, so we'll discuss it here.
Since py.test
is not part of the standard library, you'll need to download and install it yourself; you can get it from the py.test
home page at http://pytest.org/. The website has comprehensive installation instructions for...