The PyTest action in Continua is a wrapper around the pytest.exe command line. If you're having trouble using the PyTest action, please refer to the Command Line Reference.

PyTest action is a test framework for Python applications and libraries.

PyTest

Working Folder

The working directory for the pip command line. Leave blank to default to the workspace folder.

Tests

the paths to files or directories containing tests to run. Run specific tests within a module by specifying its node id. One path per line.

Root Directory

Install packages from the given requirements files. One file path per line. [--requirement]

Output Directory

The path to the root directory for tests. [--rootdir]

Report File

The path to store JUnit-XML style report. [--junit-xml]

Use command line executable in virtual environment scripts folder if it exists.

If this is ticked and exists, the pytest executable in the virtual environment scripts folder will be used instead.

Install PyTest on agent using Pip

If this is ticked, PyTest is installed on the agent using Pip. A new tab appears for entering Pip settings.

Using 

The Using drop down is populated by any property collector properties whose namespace matches the pattern defined by the PyTest action. The pattern for this action is ^PyTest\..*. The default property collector searches the environment path for "pytest.exe".

If you create a property collector for this action, make sure you select the Path Finder PlugIn type and give it a name that will match the pattern above in blue. Example names listed here, search the table's Plugin column for "PyTest".

For more in-depth explanations on property collectors see Property Collectors.

Alternatively, you can select the Custom option from the Using drop down list and specify a path in the resulting input field that will be displayed. Please read Why it's a good idea to use a property collector before using this option.


Pip

Use an alternate source to PyPI to install PyTest

If this is ticked, PyPI is not used as a source to install PyTest.

Package Source

The PyTest package source to use for the install.

Install project in editable mode

If this is ticked, the project is installed in editable mode.

Source Directory

Visible only if the checkbox 'Install project in editable mode' is ticked.

The directory to check out editable projects into. The default in a virtualenv is “<venv path>\src”. The default for global installs is “<current dir>\src”.

Install pre-release or development package version

If this is ticked, pip will also find pre-release and development versions. By default, pip only finds stable versions. [--pre]

Disable cache

If this is ticked, the cache is disabled. [--no-cache-dir]

Pip Verbosity

The amount of information detail to display in the build log. [-qqq | -qq | -q | -v]

Use command line executable in virtual environment scripts folder if it exists.

If this is ticked and exists, the pip executable in the virtual environment scripts folder will be used instead.

Using Pip

The Using drop down is populated by any property collector properties whose namespace matches the pattern defined by the Pip Install action. The pattern for this action is ^Pip\..*. The default property collector searches the environment path for "pip.exe".

If you create a property collector for this action, make sure you select the Path Finder PlugIn type and give it a name that will match the pattern above in blue. Example names listed here, search the table's Plugin column for "Pip".

For more in-depth explanations on property collectors see Property Collectors.

Alternatively, you can select the Custom option from the Using drop down list and specify a path in the resulting input field that will be displayed. Please read Why it's a good idea to use a property collector before using this option.


Settings

Keyword Expression

Run tests which contain names that match the given string expression. [-k]

Mark Expression

Run tests which match the given mark expression. [-m]

Try to interpret all tests as python packages

This options allows you to specify package names for tests. If the package exists, its file system location will be used to find and run tests. [--pyargs]

Max Fails

Maximum number of errors or failures before exiting. Leave zero for continue on all errors and failures. [--maxfail]

JUnit Classname Prefix

Prefix to prepend to classnames in junit-xml output. [--junit-prefix]

Import Mode

Select whether to prepend or append to sys.path when importing test modules. Default is to 'prepend'. [--import-mode]

Base Temporary Directory

The base temporary directory for this test run. Note that this directory is removed if it exists. [--basetemp]


Configuration

Configuration File

The path to the PyTest configuration or INI file. Path can be full or relative to working directory e.g. test\pytest.ini. [-c]

Override INI Options

Override or set INI options with 'option=value' style. One per line. [-o]

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

If this is ticked, markers not registered in the 'markers' section of the configuration file will raise errors.  [--strict-markers]

Plugin Loading

The path to the alternate CA bundle. [–cert]

Don't load any conftest.py files

If this is ticked, no conftest.py files are loaded. [--noconftest]

Root Directory For Conftest Files

Visible only if the checkbox 'Don't load any conftest.py files' is NOT ticked.

Only load conftest.py's relative to specified directory. [–confcutdir]


Collection

Ignore Paths

Specify paths to ignore during collection of tests to run. One path per line. [--ignore]

Ignore Path Patterns

Specify path patterns to ignore during collection of tests to run. Globbing patterns are allowed. One path per line. [--ignore-glob]

Deselect By Node Id

Specify items by node id to deselect during collection. One per line. [--deselect]

keep duplicate tests.

If this is ticked, tests are collected even if they are duplicates. [--keep-duplicates]

Don't ignore tests in a local virtualenv directory.

If this is ticked, tests in a local virtualenv directory are collected. [--collect-in-virtualenv]

Force test execution even if collection errors occur. 

If this is ticked, tests are executed even if collection errors occur. [--continue-collection-errors]


Doctests

Run doctests in all python modules.

If this is ticked, doctests are run in all python (.py) modules [--doctest-modules]

Doctests Paths

Include doctests in files matching globbing pattern. Leave empty to default to test*.txt. One path per line. [--doctest-glob]

Doctest Report Format

The output report format for diffs on doctest failure. [--doctest-report]

Ignore doctest import errors.

If this is ticked, doctest import errors are ignored. [--doctest-ignore-import-errors]

For a given doctest, continue to run after the first failure.

If this is ticked, continue to run after the first failure for a given doctest. [--doctest-continue-on-failure]


Logging

Log File

The path to the file to write the log to. [--log-file]

Log Level

Specify the amount of information to be written to the log file. [--log-level]

Log Format

Specify the format as used by the logging module. [--log-format]

Log Date Format

Specify the log date format as used by the logging module. [--log-date-format]

Number of Slowest Durations

Specify the number of slowest durations to output. Leave 0 for all. [--durations]

Show setup of fixtures while executing tests.

If this is ticked, the setup of fixtures is shown wile executing tests. [--setup-show]

Report the results of 'xfail' tests as if they were not marked.

If this is ticked, the results of 'xfail' tests are reported as if they were not marked. [--runxfail]

Extra Test Summary

Enter one or more characters which represent extra test summary info to output to log. [-r]


Extra Arguments

Extra Arguments

Extra arguments to be supplied to the command line. One per line.


Options

Verbosity

The amount of information detail to display in the build log. [-q | -v | -vv]

Remove all cache contents at start of test run.

If this is ticked, all cache contents are removed at the start of the test run.

Disable warnings.

If this is ticked, warnings are disabled. [–disable-warnings]

Warning Control

This option controls how often warnings are output to stderr. Leave blank to default to one warning for each source line where it occurs. [-W]

Multiple options may be given; when a warning matches more than one option, the action for the last matching option is performed. Invalid options are ignored (though, a warning message is printed about invalid options when the first warning is issued).

The simplest form of argument is one of the following action strings:

The full form of argument is: action:message:category:module:line

For more information, please refer to the warnings module in the python documentation.

Fail action if any tests fail

Tick this to cause the build to fail if any tests fail.

Fail action if any tests error

Tick this to cause the build to fail if an error occurred while running any test.

Fail action if any tests are inconclusive

Tick this to cause the build to fail if any tests are inconclusive.

Timeout (in seconds)

How long to wait for the action to finish running before timing out. Leaving this blank (or zero) will default to 86400 seconds (24 hours).

Treat failure as warning

Tick to continue build on failure marking the action with a warning status.

Ignore warnings

If this is ticked, any warnings logged will not mark the action with a warning status.


Environment

Environment Variables

Multiple environment variables can be defined - one per line. These are set before the command line is run.

Log environment variables

If this is ticked, environment variable values are written to the build log. 

Generate system environment variables

Tick this checkbox to set up a list of new environment variables prefixed with 'ContinuaCI.' for all current system expression objects and variables.

Mask sensitive variable values in system environment variables

This checkbox is visible only if the 'Generate system environment variables' checkbox is ticked.

If this is ticked, the values of any variables marked as sensitive will be masked with **** when setting system environment variables. Clear this to expose the values.