#14558: document the module, argv, and testLoader args of unittest.main.

This commit is contained in:
Ezio Melotti 2012-04-30 19:05:57 +03:00
parent 524bc3993f
commit 30abb3a6a8
1 changed files with 14 additions and 6 deletions

View File

@ -1784,11 +1784,12 @@ Loading and running tests
stream, descriptions, verbosity stream, descriptions, verbosity
.. function:: main([module[, defaultTest[, argv[, testRunner[, testLoader[, exit[, verbosity[, failfast[, catchbreak[,buffer]]]]]]]]]]) .. function:: main([module[, defaultTest[, argv[, testRunner[, testLoader[, exit[, verbosity[, failfast[, catchbreak[, buffer]]]]]]]]]])
A command-line program that runs a set of tests; this is primarily for making A command-line program that loads a set of tests from *module* and runs them;
test modules conveniently executable. The simplest use for this function is to this is primarily for making test modules conveniently executable.
include the following line at the end of a test script:: The simplest use for this function is to include the following line at the
end of a test script::
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()
@ -1799,10 +1800,17 @@ Loading and running tests
if __name__ == '__main__': if __name__ == '__main__':
unittest.main(verbosity=2) unittest.main(verbosity=2)
The *argv* argument can be a list of options passed to the program, with the
first element being the program name. If not specified or ``None``,
the values of :data:`sys.argv` are used.
The *testRunner* argument can either be a test runner class or an already The *testRunner* argument can either be a test runner class or an already
created instance of it. By default ``main`` calls :func:`sys.exit` with created instance of it. By default ``main`` calls :func:`sys.exit` with
an exit code indicating success or failure of the tests run. an exit code indicating success or failure of the tests run.
The *testLoader* argument has to be a :class:`TestLoader` instance,
and defaults to :data:`defaultTestLoader`.
``main`` supports being used from the interactive interpreter by passing in the ``main`` supports being used from the interactive interpreter by passing in the
argument ``exit=False``. This displays the result on standard output without argument ``exit=False``. This displays the result on standard output without
calling :func:`sys.exit`:: calling :func:`sys.exit`::
@ -1810,14 +1818,14 @@ Loading and running tests
>>> from unittest import main >>> from unittest import main
>>> main(module='test_module', exit=False) >>> main(module='test_module', exit=False)
The ``failfast``, ``catchbreak`` and ``buffer`` parameters have the same The *failfast*, *catchbreak* and *buffer* parameters have the same
effect as the same-name `command-line options`_. effect as the same-name `command-line options`_.
Calling ``main`` actually returns an instance of the ``TestProgram`` class. Calling ``main`` actually returns an instance of the ``TestProgram`` class.
This stores the result of the tests run as the ``result`` attribute. This stores the result of the tests run as the ``result`` attribute.
.. versionchanged:: 2.7 .. versionchanged:: 2.7
The ``exit``, ``verbosity``, ``failfast``, ``catchbreak`` and ``buffer`` The *exit*, *verbosity*, *failfast*, *catchbreak* and *buffer*
parameters were added. parameters were added.