由 neevop 十二月 13, 2022
general options
options | description | usage |
---|---|---|
-k EXPRESSION | only run tests which match the given substring expression. An expression is apython evaluatable expression where all names are substring-matched against testnames and their parent classes. Example: -k ’test_method or test_other’ matches alltest functions and classes whose name contains ’test_method’ or ’test_other’, while-k ’not test_method’ matches those that don’t contain ’test_method’ in their names.-k ’not test_method and not test_other’ will eliminate the matches. Additionallykeywords are matched to classes and functions containing extra names in their‘extra_keyword_matches’ set, as well as functions which have names assigneddirectly to them. The matching is case-insensitive. | |
-m MARKEXPR | only run tests matching given mark expression. | -m ‘mark1 and not mark2’ |
–markers | show markers (builtin, plugin and per-project ones). | |
-x, –exitfirst | exit instantly on first error or failed test. | |
–fixtures, –funcargs | show available fixtures, sorted by plugin appearance (fixtures with leading ‘_’ are only shown with ‘-v’) | |
–fixtures-per-test | show fixtures per test | |
–pdb | start the interactive Python debugger on errors or KeyboardInterrupt. | |
–pdbcls=modulename:classname | specify a custom interactive Python debugger for use with –pdb. | –pdbcls=IPython.terminal.debugger:TerminalPdb |
–trace | Immediately break when running each test. | |
–capture=method | per-test capturing method: one of fd/sys/no/tee-sys. | |
-s | shortcut for –capture=no. | |
–runxfail | report the results of xfail tests as if they were not marked | |
–lf, –last-failed | rerun only the tests that failed at the last run (or all if none failed) | |
–ff, –failed-first | run all tests, but run the last failures first.This may re-order tests and thus lead to repeated fixture setup/teardown. | |
–nf, –new-first | run tests from new files first, then the rest of the tests sorted by file mtime | |
–cache-show=[CACHESHOW] | show cache contents, don’t perform collection or tests. | Optional argument: glob (default: ‘*’). |
–cache-clear | remove all cache contents at start of test run. | |
–lfnf={all,none}, –last-failed-no-failures={all,none} | which tests to run with no previously (known) failures. | |
–sw, –stepwise | exit on test failure and continue from last failing test next time | |
–sw-skip, –stepwise-skip | ignore the first failing test but stop on the next failing test. implicitly enables –stepwise. | |
–allure-severities=SEVERITIES_SET | Comma-separated list of severity names. only with these severities will be run. Possible values are: blocker, critical, normal, minor, trivial. | |
–allure-epics=EPICS_SET | Comma-separated list of epic names.Run tests that have at least one of the specified feature labels. | |
–allure-features=FEATURES_SET | Comma-separated list of epic names. tests that have at least one of the specified feature labels. | |
–allure-stories=STORIES_SET | Comma-separated list of story names.Run tests that have at least one of the specified story labels. | |
–allure-ids=IDS_SET | Comma-separated list of IDs.Run tests that have at least one of the specified id labels. | |
–allure-link-pattern=LINK_TYPE:LINK_PATTERN | Url pattern for link type. Allows short links in test, like ‘issue-1’. Text will be formatted to full url with python str.format(). | |
–count=COUNT | Number of times to repeat each test | |
–repeat-scope={function,class,module,session} | Scope for repeating tests |
reporting options
options | description | usage |
---|---|---|
–durations=N | show N slowest setup/test durations (N=0 for all). | |
–durations-min=N | Minimal duration in seconds for inclusion in slowest list. Default 0.005 | |
-v, –verbose | increase verbosity. | |
–no-header | disable header | |
–no-summary | disable summary | |
-q, –quiet | decrease verbosity. | |
–verbosity=VERBOSE | set verbosity. Default is 0. | |
-r chars | show extra test summary info as specified by chars: (f)ailed, (E)rror, (s)kipped, (x)failed, (X)passed, (p)assed, (P)assed with output, (a)ll except passed (p/P), or (A)ll. (w)arnings are enabled by default (see –disable-warnings), ‘N’ can be used to reset the list. (default: ‘fE’). | |
–disable-warnings, –disable-pytest-warnings | disable warnings summary | |
-l, –showlocals | show locals in tracebacks (disabled by default). | |
–tb=style | traceback print mode (auto/long/short/line/native/no). | |
–show-capture={no,stdout,stderr,log,all} | Controls how captured stdout/stderr/log is shown on failed tests. Default is ‘all’. | |
–full-trace | don’t cut any tracebacks (default is to cut). | |
–color=color | color terminal output (yes/no/auto). | |
–code-highlight={yes,no} | Whether code should be highlighted (only if –color is also enabled) | |
–pastebin=mode | send failed/all info to bpaste.net pastebin service. | |
–junit-xml=path | create junit-xml style report file at given path. | |
–junit-prefix=str | prepend prefix to classnames in junit-xml output | |
–alluredir=DIR | Generate Allure report in the specified directory (may not exist) | |
–clean-alluredir | Clean alluredir folder if it exists | |
–allure-no-capture | Do not attach pytest captured logging/stdout/stderr to report | |
–inversion=INVERSION | Run tests not in testplan |
pytest-warnings options
options | description | usage |
---|---|---|
-W PYTHONWARNINGS, –pythonwarnings=PYTHONWARNINGS | set which warnings to report, see -W option of python itself. | |
–maxfail=num | exit after first num failures or errors. | |
–strict-config | any warnings encountered while parsing the pytest section of the configuration file raise errors. |
|
–strict-markers | markers not registered in the markers section of the configuration file raise errors. |
|
–strict | (deprecated) alias to –strict-markers. | |
-c file | load configuration from file instead of trying to locate one of the implicit configuration files |
|
–continue-on-collection-errors | Force test execution even if collection errors occur. | |
–rootdir=ROOTDIR | Define root directory for tests. Can be relative path: ‘root_dir’, ‘./root_dir’,‘root_dir/another_dir/’; absolute path: ‘/home/user/root_dir’; path with variables:$HOME/root_dir’. |
collection options
options | description | usage |
---|---|---|
–collect-only, –co | only collect tests, don’t execute them. | |
–pyargs | try to interpret all arguments as python packages. | |
–ignore=path | ignore path during collection (multi-allowed). | |
–ignore-glob=path | ignore path pattern during collection (multi-allowed). | |
–deselect=nodeid_prefix | deselect item (via node id prefix) during collection (multi-allowed). | |
–confcutdir=dir | only load conftest.py’s relative to specified dir. | |
–noconftest | Don’t load any conftest.py files. | |
–keep-duplicates | Keep duplicate tests. | |
–collect-in-virtualenv | Don’t ignore tests in a local virtualenv directory | |
–import-mode={prepend,append,importlib} | prepend/append to sys.path when importing test modules and conftest files, default is to prepend. | |
–doctest-modules | run doctests in all .py modules | |
–doctest-report={none,cdiff,ndiff,udiff,only_first_failure} | choose another output format for diffs on doctest failure | |
–doctest-glob=pat | doctests file matching pattern, default: test*.txt | |
–doctest-ignore-import-errors | ignore doctest ImportErrors | |
–doctest-continue-on-failure | for a given doctest, continue to run after the first failure | |
test session debugging and configuration
options | description | usage |
---|---|---|
–basetemp=dir | base temporary directory for this test run.(warning: this directory is removed if it exists) | |
-V, –version | display pytest version and information about plugins. When given twice, also display information about plugins. | |
-h, –help | show help message and configuration info | |
-p name | early-load given plugin module name or entry point (multi-allowed).To avoid loading of plugins, use the no: prefix, e.g. no:doctest . |
|
–trace-config | trace considerations of conftest.py files. | |
–debug=[DEBUG_FILE_NAME] | store internal tracing debug information in this log file. This file is opened with ‘w’ and truncated as a result, care advised. Defaults to ‘pytestdebug.log’. | |
-o OVERRIDE_INI, –override-ini=OVERRIDE_INI | override ini option with “option=value” style, e.g. -o xfail_strict=True -o cache_dir=cache . |
|
–assert=MODE | Control assertion debugging tools. ‘plain’ performs no assertion debugging. ‘rewrite’ (the default) rewrites assert statements in test modules on import to provide assert expression information. | |
–setup-only | only setup fixtures, do not execute tests. | |
–setup-show | show setup of fixtures while executing tests. | |
–setup-plan | show what fixtures and tests would be executed but don’t execute anything. |
logging options
options | description | usage |
---|---|---|
–log-level=LEVEL | level of messages to catch/display. Not set by default, so it depends on the root/parent log handler’s effective level, where it is “WARNING” by default. | |
–log-format=LOG_FORMAT | log format as used by the logging module. | |
–log-date-format=LOG_DATE_FORMAT | log date format as used by the logging module. | |
–log-cli-level=LOG_CLI_LEVEL | cli logging level. | |
–log-cli-format=LOG_CLI_FORMAT | log format as used by the logging module. | |
–log-file=LOG_FILE | path to a file when logging will be written to. | |
–log-file-level=LOG_FILE_LEVEL | log file logging level. | |
–log-file-format=LOG_FILE_FORMAT | log format as used by the logging module. | |
–log-file-date-format=LOG_FILE_DATE_FORMAT | log date format as used by the logging module. | |
–log-auto-indent=LOG_AUTO_INDENT | Auto-indent multiline messages passed to the logging module. Accepts true/on, false/off or an integer. | |
environment variables
PYTEST_ADDOPTS extra command line options PYTEST_PLUGINS comma-separated plugins to load during startup PYTEST_DISABLE_PLUGIN_AUTOLOAD set to disable plugin auto-loading PYTEST_DEBUG set to enable debug tracing of pytest’s internals