Clarify docs for pytest.main default behavior

Add explicit mentions of the default behavior to both API reference and
how-to section about ways to invoke pytest.
This commit is contained in:
Vojtech Antosik 2023-07-09 15:07:55 +02:00
parent fd7a4d2429
commit c27ba33eb7
2 changed files with 6 additions and 2 deletions

View File

@ -173,7 +173,9 @@ You can invoke ``pytest`` from Python code directly:
this acts as if you would call "pytest" from the command line.
It will not raise :class:`SystemExit` but return the :ref:`exit code <exit-codes>` instead.
You can pass in options and arguments:
Be careful though, by default (when ``None`` is passed) ``main`` will read arguments
from the command line, which may not be desirable.
You can pass in options and arguments explicitly:
.. code-block:: python

View File

@ -137,7 +137,9 @@ def main(
) -> Union[int, ExitCode]:
"""Perform an in-process test run.
:param args: List of command line arguments.
:param args:
List of command line arguments. If `None` or not given, defaults to reading
arguments directly from the command line.
:param plugins: List of plugin objects to be auto-registered during initialization.
:returns: An exit code.