It just takes a single line to execute our test cases. Then why would we want to integrate with build tools? Build tools support pre-requisites, so by integrating with such tools, we can ensure the tests are run before performing a critical task. An example would be to run all the tests before deploying the code to production.
Paver is a popular Python-based build tool. It is built around the concept of tasks. Tasks are a sequence of commands that perform a particular action, such as building the application or running unit tests. Tasks are coded in regular Python and placed in a file called pavement.py
in the project root.
We want to create a task that will run our unit tests. The following is how we can do that in Paver:
import subprocess from paver.easy import task, consume_args, options, needs @task @consume_args def test(): args = [] if hasattr(options, "args"): args = options.args p = subprocess.Popen(["python", "-m", "unittest"]...