What numbers can you pass as verbosity in running Python Unit Test Suites?

The Python unittest framework has a concept of verbosity that I can't seem to find defined anywhere. For instance, I'm running test cases like this (like in the documentation):

suite = unittest.TestLoader().loadTestsFromTestCase(MyAwesomeTest)
unittest.TextTestRunner(verbosity=2).run(suite)

The only number I've ever seen passed as verbosity is 2. What is this magic number, what does it mean, what what else can I pass?


Solution 1:

You only have 3 different levels:

  • 0 (quiet): you just get the total numbers of tests executed and the global result
  • 1 (default): you get the same plus a dot for every successful test or a F for every failure
  • 2 (verbose): you get the help string of every test and the result

You can use command line args rather than the verbosity argument: --quiet and --verbose which would do something similar to passing 0 or 2 to the runner.