{
"name": "pytest",
"options": [
{
"names": [
"--assert"
],
"description": "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",
"takes_arg": true,
"arg": {
"name": "Mode",
"suggestions": [
"plain",
"rewrite"
]
}
},
{
"names": [
"--basetemp"
],
"description": "Base temporary directory for this test run.(warning: this directory is removed if it exists)",
"takes_arg": true,
"arg": {
"name": "Directory",
"template": "folders"
}
},
{
"names": [
"-c"
],
"description": "Load configuration from `file` instead of trying to locate one of the implicit configuration files",
"takes_arg": true,
"arg": {
"name": "File",
"template": "filepaths"
}
},
{
"names": [
"--cache-clear"
],
"description": "Remove all cache contents at start of test run"
},
{
"names": [
"--cache-show"
],
"description": "Show cache contents, don't perform collection or tests. Optional argument: glob (default: '*')",
"takes_arg": true,
"arg": {
"name": "Glob"
}
},
{
"names": [
"--capture"
],
"description": "Per-test capturing method",
"takes_arg": true,
"arg": {
"name": "Method",
"description": "One of fd|sys|no|tee-sys",
"suggestions": [
"fd",
"sys",
"no",
"tee-sys"
]
}
},
{
"names": [
"--code-highlight"
],
"description": "Whether code should be highlighted (only if --color is also enabled)",
"takes_arg": true,
"arg": {
"name": "Highlight",
"suggestions": [
"yes",
"no"
]
}
},
{
"names": [
"--co",
"--collect-only"
],
"description": "Only collect tests, don't execute them"
},
{
"names": [
"--collect-in-virtualenv"
],
"description": "Don't ignore tests in a local virtualenv directory"
},
{
"names": [
"--color"
],
"description": "Color terminal output",
"takes_arg": true,
"arg": {
"name": "Color",
"suggestions": [
"yes",
"no",
"auto"
]
}
},
{
"names": [
"--confcutdir"
],
"description": "Only load conftest.py's relative to specified dir",
"takes_arg": true,
"arg": {
"name": "Dir",
"template": "folders"
}
},
{
"names": [
"--continue-on-collection-errors"
],
"description": "Force test execution even if collection errors occur"
},
{
"names": [
"--debug"
],
"description": "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'",
"takes_arg": true,
"arg": {
"name": "Debug File Name"
}
},
{
"names": [
"--durations"
],
"description": "Show N slowest setup/test durations (N=0 for all)",
"takes_arg": true,
"arg": {
"name": "N",
"description": "(N=0 for all)"
}
},
{
"names": [
"--durations-min"
],
"description": "Minimal duration in seconds for inclusion in slowest list",
"takes_arg": true,
"arg": {
"name": "N"
}
},
{
"names": [
"--deselect"
],
"description": "Deselect item (via node id prefix) during collection (multi-allowed)",
"takes_arg": true,
"arg": {
"name": "nodeid_prefix"
}
},
{
"names": [
"--disable-warnings",
"--disable-pytest-warnings"
],
"description": "Disable warnings summary"
},
{
"names": [
"--doctest-continue-on-failure"
],
"description": "For a given doctest, continue to run after the first failure"
},
{
"names": [
"--doctest-ignore-import-errors"
],
"description": "Ignore doctest ImportErrors"
},
{
"names": [
"--doctest-modules"
],
"description": "Run doctests in all .py modules"
},
{
"names": [
"--doctest-report"
],
"description": "Choose another output format for diffs on doctest failure",
"takes_arg": true,
"arg": {
"name": "Output format",
"description": "None,cdiff,ndiff,udiff,only_first_failure",
"suggestions": [
"none",
"cdiff",
"ndiff",
"udiff",
"only_first_failure"
]
}
},
{
"names": [
"--doctest-glob"
],
"description": "Doctests file matching pattern, default: test*.txt",
"takes_arg": true,
"arg": {
"name": "Pattern"
}
},
{
"names": [
"--exitfirst",
"-x"
],
"description": "Exit instantly on first error or failed test"
},
{
"names": [
"--failed-first",
"--ff"
],
"description": "Run all tests, but run the last failures first"
},
{
"names": [
"--fixtures"
],
"description": "Shows builtin and custom fixtures. Note that this command omits fixtures with leading _ unless the -v option is added"
},
{
"names": [
"--fixtures-per-test"
],
"description": "Show fixtures per test"
},
{
"names": [
"--full-trace"
],
"description": "Don't cut any tracebacks (default is to cut)"
},
{
"names": [
"--help",
"-h"
],
"description": "This shows help on command line and config-line options"
},
{
"names": [
"--ignore"
],
"description": "Ignore path during collection (multi-allowed)",
"takes_arg": true,
"arg": {
"name": "Path",
"template": "filepaths"
}
},
{
"names": [
"--ignore-glob"
],
"description": "Ignore path pattern during collection (multi-allowed)",
"takes_arg": true,
"arg": {
"name": "Path",
"template": "filepaths"
}
},
{
"names": [
"--import-mode"
],
"description": "Prepend/append to sys.path when importing test modules and conftest files, default is to prepend",
"takes_arg": true,
"arg": {
"name": "Mode",
"suggestions": [
"prepend",
"append",
"importlib"
]
}
},
{
"names": [
"--junit-xml"
],
"description": "Create junit-xml style report file at given path",
"takes_arg": true,
"arg": {
"name": "Path",
"template": "filepaths"
}
},
{
"names": [
"--junit-prefix"
],
"description": "Prepend prefix to classnames in junit-xml output",
"takes_arg": true,
"arg": {
"name": "Str",
"description": "String to prepend"
}
},
{
"names": [
"-k"
],
"description": "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: ",
"takes_arg": true,
"arg": {
"name": "Expression",
"description": "Ex: 'test_method or test_other'"
}
},
{
"names": [
"--keep-duplicates"
],
"description": "Keep duplicate tests"
},
{
"names": [
"--showlocals",
"-l"
],
"description": "Show locals in tracebacks (disabled by default)"
},
{
"names": [
"--last-failed-no-failures",
"--lfnf"
],
"description": "Which tests to run with no previously (known) failures",
"takes_arg": true,
"arg": {
"name": "Tests",
"suggestions": [
"all",
"none"
]
}
},
{
"names": [
"--last-failed",
"--lf"
],
"description": "Rerun only the tests that failed at the last run (or all if none failed)"
},
{
"names": [
"--log-auto-indent"
],
"description": "Auto-indent multiline messages passed to the logging module. Accepts true|on, false|off or an integer",
"takes_arg": true,
"arg": {
"name": "Log Auto Indent Setting",
"suggestions": [
"true",
"false"
]
}
},
{
"names": [
"--log-cli-level"
],
"description": "Cli logging level",
"takes_arg": true,
"arg": {
"name": "Log CLI Level",
"suggestions": [
"CRITICAL",
"ERROR",
"WARNING",
"INFO",
"DEBUG"
]
}
},
{
"names": [
"--log-cli-format"
],
"description": "Log format as used by the logging module",
"takes_arg": true,
"arg": {
"name": "Log CLI Format"
}
},
{
"names": [
"--log-cli-date-format"
],
"description": "Log date format as used by the logging module",
"takes_arg": true,
"arg": {
"name": "Log CLI Date Format"
}
},
{
"names": [
"--log-date-format"
],
"description": "Log date format as used by the logging module",
"takes_arg": true,
"arg": {
"name": "Log Date Format"
}
},
{
"names": [
"--log-format"
],
"description": "Log format as used by the logging module",
"takes_arg": true,
"arg": {
"name": "Log Format"
}
},
{
"names": [
"--log-file"
],
"description": "Path to a file where logging will be written to",
"takes_arg": true,
"arg": {
"name": "Log File Path",
"template": "filepaths"
}
},
{
"names": [
"--log-file-level"
],
"description": "Log file logging level",
"takes_arg": true,
"arg": {
"name": "Log File Level",
"suggestions": [
"CRITICAL",
"ERROR",
"WARNING",
"INFO",
"DEBUG"
]
}
},
{
"names": [
"--log-file-date-format"
],
"description": "Log date format as used by the logging module",
"takes_arg": true,
"arg": {
"name": "Log File Date Format"
}
},
{
"names": [
"--log-file-format"
],
"description": "Log format as used by the logging module",
"takes_arg": true,
"arg": {
"name": "Log File Format"
}
},
{
"names": [
"--log-level"
],
"description": "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",
"takes_arg": true,
"arg": {
"name": "Level",
"suggestions": [
"CRITICAL",
"ERROR",
"WARNING",
"INFO",
"DEBUG"
]
}
},
{
"names": [
"-m"
],
"description": "Only run tests matching given mark expression",
"takes_arg": true,
"arg": {
"name": "Mark Expression"
}
},
{
"names": [
"--markers"
],
"description": "Show markers (builtin, plugin and per-project ones)"
},
{
"names": [
"--maxfail"
],
"description": "Exit after first num failures or errors",
"takes_arg": true,
"arg": {
"name": "num"
}
},
{
"names": [
"--new-first",
"--nf"
],
"description": "Run tests from new files first, then the rest of the tests sorted by file mtime"
},
{
"names": [
"--noconftest"
],
"description": "Don't load any conftest.py files"
},
{
"names": [
"--no-header"
],
"description": "Disable header"
},
{
"names": [
"--no-summary"
],
"description": "Disable summary"
},
{
"names": [
"--override-ini",
"-o"
],
"description": "Override ini option with `option=value` style`",
"takes_arg": true,
"arg": {
"name": "Override INI",
"description": "Ex: `-o xfail_strict=True -o cache_dir=cache"
}
},
{
"names": [
"-p"
],
"description": "Early-load given plugin module name or entry point (multi-allowed)",
"takes_arg": true,
"arg": {
"name": "Plugin name"
}
},
{
"names": [
"--pastebin"
],
"description": "Send failed|all info to bpaste.net pastebin service",
"takes_arg": true,
"arg": {
"name": "mode",
"suggestions": [
"failed",
"all"
]
}
},
{
"names": [
"--pdb"
],
"description": "Start the interactive Python debugger on errors or KeyboardInterrupt"
},
{
"names": [
"--pdbcls"
],
"description": "Specify a custom interactive Python debugger for use with --pdb",
"takes_arg": true,
"arg": {
"name": "modulename:classname",
"description": "Ex: --pdbcls=IPython.terminal.debugger:TerminalPdb"
}
},
{
"names": [
"--pyargs"
],
"description": "Try to interpret all arguments as python packages"
},
{
"names": [
"--quiet",
"-q"
],
"description": "Decrease verbosity"
},
{
"names": [
"-r"
],
"description": "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 d",
"takes_arg": true,
"arg": {
"name": "chars",
"suggestions": [
"a",
"A",
"E",
"f",
"N",
"p",
"P",
"s",
"w",
"x",
"X"
]
}
},
{
"names": [
"--rootdir"
],
"description": "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'",
"takes_arg": true,
"arg": {
"name": "Root Dir",
"template": "folders"
}
},
{
"names": [
"--runxfail"
],
"description": "Report the results of xfail tests as if they were not marked"
},
{
"names": [
"-s"
],
"description": "Shortcut for --capture=no"
},
{
"names": [
"--setup-only"
],
"description": "Only setup fixtures, do not execute tests"
},
{
"names": [
"--setup-show"
],
"description": "Show setup of fixtures while executing tests"
},
{
"names": [
"--setup-plan"
],
"description": "Show what fixtures and tests would be executed but don't execute anything"
},
{
"names": [
"--show-capture"
],
"description": "Controls how captured stdout/stderr/log is shown on failed tests",
"takes_arg": true,
"arg": {
"name": "Capture method",
"suggestions": [
"no",
"stdout",
"stderr",
"log",
"all"
]
}
},
{
"names": [
"--stepwise",
"--sw"
],
"description": "Exit on test failure and continue from last failing test next time"
},
{
"names": [
"--stepwise-skip",
"--sw-skip"
],
"description": "Ignore the first failing test but stop on the next failing test"
},
{
"names": [
"--strict"
],
"description": "Alias to --strict-markers"
},
{
"names": [
"--strict-config"
],
"description": "Any warnings encountered while parsing the `pytest` section of the configuration file raise errors"
},
{
"names": [
"--strict-markers"
],
"description": "Markers not registered in the `markers` section of the configuration file raise errors"
},
{
"names": [
"--tb"
],
"description": "Traceback print mode",
"takes_arg": true,
"arg": {
"name": "Traceback print mode",
"suggestions": [
"auto",
"long",
"short",
"line",
"native",
"no"
]
}
},
{
"names": [
"--trace"
],
"description": "Immediately break when running each test"
},
{
"names": [
"--trace-config"
],
"description": "Trace considerations of conftest.py files"
},
{
"names": [
"--verbose",
"-v"
],
"description": "Increase verbosity"
},
{
"names": [
"--verbosity"
],
"description": "Set verbosity. Default is 0",
"takes_arg": true,
"arg": {
"name": "Verbosity level"
}
},
{
"names": [
"--version",
"-V"
],
"description": "Display pytest version and information about plugins. When given twice, also display information about plugins"
},
{
"names": [
"--pythonwarnings",
"-W"
],
"description": "Set which warnings to report, see -W option of python itself",
"takes_arg": true,
"arg": {
"name": "Warnings to report"
}
}
],
"args": [
{
"name": "File or Directory",
"description": "The test file or directory you want to run pytest on. If omitted, pytest will run all of the files of the form test_*.py or *_test.py in the current directory and its subdirectories",
"template": "filepaths"
}
]
}