Skip to main content

pytest plugin for providing variables to tests/fixtures

Project description

pytest-variables is a plugin for pytest that provides variables to tests/fixtures as a dictionary via a file specified on the command line.

License PyPI Travis Issues Requirements

Requirements

You will need the following prerequisites in order to use pytest-variables:

  • Python 2.7, 3.6, PyPy, or PyPy3

  • pytest 2.6 or newer

Installation

To install pytest-variables:

$ pip install pytest-variables

Additional formats

The following optional formats are supported, but must be explicitly installed as they require additional dependencies:

Human JSON

Human JSON is a configuration file format that caters to humans and helps reduce the errors they make. To install Human JSON support:

$ pip install pytest-variables[hjson]

YAML

YAML is a human friendly data serialization standard for all programming languages. To install YAML support:

$ pip install pytest-variables[yaml]

Specifying variables

Use the –variables command line option one or more times to specify paths to files containing your variables:

$ pytest --variables foo.json --variables bar.json

If multiple files are specified then they will be applied in the order they appear on the command line. When duplicates are encountered, the last to be applied will take priority.

Accessing variables

With a JSON variables file such as:

{
  "foo": "bar",
  "bar": "foo"
}

Specify the variables funcarg to make the variables available to your tests. The contents of the files are made available as a dictionary:

def test_foo(self, variables):
    assert variables['foo'] == 'bar'
    assert variables.get('bar') == 'foo'
    assert variables.get('missing') is None

Resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest-variables-1.6.1.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

pytest_variables-1.6.1-py2.py3-none-any.whl (6.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pytest-variables-1.6.1.tar.gz.

File metadata

File hashes

Hashes for pytest-variables-1.6.1.tar.gz
Algorithm Hash digest
SHA256 1b072483395dc0b7f9bcd437b551f590f5b58faf176d3d16137cc0e212908a4b
MD5 e1e6fcf22dabe7f5f3d738daf9b71be0
BLAKE2b-256 dcf404d43080e787124bd3363e32fc6aed3314797acd2d95f4eb75bf9a32f480

See more details on using hashes here.

File details

Details for the file pytest_variables-1.6.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_variables-1.6.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 799843c67a2667388116ec3ab77bcc552801cc310e4d2b9b3a20709b0c8c5b81
MD5 537f1880fbdf01e1eceb1bd4055cc014
BLAKE2b-256 8740d5b0d6507f2d3270688b330c4fdf5858fb31e42b001b3f1ade763ca220d6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page