Skip to main content

pytest plugin that allows selectively running tests several times and accepting *some* failures.

Project description

pytest-stochastics

A pytest plugin for running stochastic tests with configurable policies.

Definition: Stochastic Test - A test that may occasionally fail due to the non-deterministic character of the test subject. Evaluated by an at_least of out out_of model.

Features

  • Run stochastic tests multiple times with customizable pass/fail criteria
  • Configure different test plans with fallback options

Installation

You can install pytest-stochastics using pip:

pip install pytest-stochastics

Usage

Configuration

Create a pytest_stochastics.json file in your project root with your test configuration:

{
    "test_plans": [
        {
            "plan": "weak",
            "policy_tests": [
                {
                    "policy": "always",
                    "tests": [
                        "tests/test_abc/test_1", 
                    ]
                },
                {
                    "policy": "mostly",
                    "tests": [
                        "tests/test_abc/test_2",
                        "tests/test_abc/test_3"
                    ]
                }
            ]
        },
        {
            "plan": "strong",
            "policy_tests": [
                {
                    "policy": "always",
                    "tests": [
                        "tests/test_abc/test_2"
                    ]
                }
            ]
        }
    ],
    "policies": [
        {
            "policy": "always",
            "at_least": 3,
            "out_of": 3
        },
        {
            "policy": "mostly",
            "at_least": 2,
            "out_of": 3
        }
    ],
    "plan_fallbacks": [
        {
            "plan": "strong",
            "overrides": "weak"
        }
    ]
}

Running Tests

Run your tests as usual with pytest:

pytest

You may override the default behaviour by defining a custom plan named default.

To specify a plan:

pytest --plan="name of plan"

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_stochastics-0.4.3.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_stochastics-0.4.3-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file pytest_stochastics-0.4.3.tar.gz.

File metadata

  • Download URL: pytest_stochastics-0.4.3.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.5 Darwin/23.5.0

File hashes

Hashes for pytest_stochastics-0.4.3.tar.gz
Algorithm Hash digest
SHA256 aca21ec032e7342b8f7f04907580339cfc307e7748f4717aea45cf036d79907f
MD5 ff7b74641940650c6ebe715859887072
BLAKE2b-256 1cbf2dd0a39c2340caef84a39cef8ed243f4bd7f2ff3097d9b4ef6b676e1c525

See more details on using hashes here.

File details

Details for the file pytest_stochastics-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: pytest_stochastics-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.5 Darwin/23.5.0

File hashes

Hashes for pytest_stochastics-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d95dc422fdd60bd41cf4039a5c41715bbbff418e35e9eb6df8386a8c0ed066eb
MD5 34fc137f1dba7caeef18199e62de1076
BLAKE2b-256 67815665fb40b6833655395b4343cb5874efa54fd04c1ba4aab770f24bf756cb

See more details on using hashes here.

Supported by

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