Hong's Blog

View on GitHub

上一頁

py.test的說明文件

usage: py.test [options] [file_or_dir] [file_or_dir] […]

positional arguments:

file_or_dir

general:

-k EXPRESSION

only run tests which match the given substring expression. An expression is a python evaluatable expression where all names are substring-matched against test names and their parent classes. Example: -k ‘test_method or test_other’ matches all test 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. Additionally keywords are matched to classes and functions containing extra names in their ‘extra_keyword_matches’ set, as well as functions which have names assigned directly to them.

-m MARKEXPR

only run tests matching given mark expression. example: -m ‘mark1 and not mark2’.

–markers

show markers (builtin, plugin and per-project ones).

-x, –exitfirst

exit instantly on first error or failed test.

–maxfail=num

exit after first num failures or errors.

–strict-markers, –strict

markers not registered in the markers section of the configuration file raise errors.

-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’.

–fixtures, –funcargs

show available fixtures, sorted by plugin appearance (fixtures with leading ‘_’ are only shown with ‘-v’)

–fixtures-per-test

show fixtures per test

–import-mode={prepend,append}

prepend/append to sys.path when importing test modules, default is to prepend.

–pdb

start the interactive Python debugger on errors or KeyboardInterrupt.

–pdbcls=modulename:classname

start a custom interactive Python debugger on errors. For example: –pdbcls=IPython.terminal.debugger:TerminalPdb

–trace

Immediately break when running each test.

–capture=method

per-test capturing method: one of fd sys no.

-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

–stepwise-skip

ignore the first failing test but stop on the next failing test

reporting:

–durations=N

show N slowest setup/test durations (N=0 for all).

-v, –verbose

increase verbosity.

-q, –quiet

decrease verbosity.

–verbosity=VERBOSE

set verbosity

-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. Warnings are displayed at all times except when –disable-warnings is set.

–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).

–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

–result-log=path

DEPRECATED path for machine-readable result log.

collection:

–collect-only

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 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

–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:

–basetemp=dir

base temporary directory for this test run.(warning: this directory is removed if it exists)

–version

display pytest lib version and import information.

-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

store internal tracing debug information in ‘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.

pytest-warnings:

-W PYTHONWARNINGS, –pythonwarnings=PYTHONWARNINGS

set which warnings to report, see -W option of python itself.

logging:

–no-print-logs

disable printing caught logs on failed tests.

–log-level=LOG_LEVEL

logging level used by the logging module

–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-cli-date-format=LOG_CLI_DATE_FORMAT

log date 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.

[pytest] ini-options in the first pytest.ini tox.ini setup.cfg file found:

markers (linelist):

markers for test functions

empty_parameter_set_mark (string):

default marker for empty parametersets

norecursedirs (args):

directory patterns to avoid for recursion

testpaths (args):

directories to search for tests when no files or directories are given in the command line.

usefixtures (args):

list of default fixtures to be used with this project

python_files (args):

glob-style file patterns for Python test module discovery

python_classes (args):

prefixes or glob names for Python test class discovery

python_functions (args):

prefixes or glob names for Python test function and method discovery

disable_test_id_escaping_and_forfeit_all_rights_to_community_support (bool):

disable string escape non-ascii characters, might cause unwanted side effects(use at your own risk)

console_output_style (string):

console output: “classic”, or with additional progress information (“progress” (percentage) “count”).

xfail_strict (bool):

default for the strict parameter of xfail markers when not given explicitly (default: False)

junit_suite_name (string):

Test suite name for JUnit report

junit_logging (string):

Write captured log messages to JUnit report: one of no system-out system-err

junit_log_passing_tests (bool):

Capture log information for passing tests to JUnit report:

junit_duration_report (string):

Duration time to report: one of total call

junit_family (string):

Emit XML for schema: one of legacy xunit1 xunit2

doctest_optionflags (args):

option flags for doctests

doctest_encoding (string):

encoding used for doctest files

cache_dir (string):

cache directory path.

filterwarnings (linelist):

Each line specifies a pattern for warnings.filterwarnings. Processed after -W and –pythonwarnings.

log_print (bool):

default value for –no-print-logs

log_level (string):

default value for –log-level

log_format (string):

default value for –log-format

log_date_format (string):

default value for –log-date-format

log_cli (bool):

enable log display during test run (also known as “live logging”).

log_cli_level (string):

default value for –log-cli-level

log_cli_format (string):

default value for –log-cli-format

log_cli_date_format (string):

default value for –log-cli-date-format

log_file (string):

default value for –log-file

log_file_level (string):

default value for –log-file-level

log_file_format (string):

default value for –log-file-format

log_file_date_format (string):

default value for –log-file-date-format

addopts (args):

extra command line options

minversion (string):

minimally required pytest version

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

to see available markers type: pytest –markers

to see available fixtures type: pytest –fixtures

(shown according to specified file_or_dir or current dir if not specified; fixtures with leading ‘_’ are only shown with the ‘-v’ option