Skip to main content

a pytest plugin for parallel and concurrent testing

Project description

pytest-parallel

a pytest plugin for parallel and concurrent testing

What?

This plugin makes it possible to run tests quickly using multiprocessing (parallelism) and multithreading (concurrency).

Why?

pytest-xdist is great to run tests that:

  1. aren't threadsafe
  2. perform poorly when multithreaded
  3. need state isolation

pytest-parallel is better for some use cases (like Selenium tests) that:

  1. can be threadsafe
  2. can use non-blocking IO for http requests to make it performant
  3. manage little or no state in the Python environment

Put simply, pytest-xdist does parallelism while pytest-parallel does parallelism and concurrency.

Requirements

  • Python3 version [3.6+]
  • Unix or Mac for --workers
  • Unix, Mac, or Windows for --tests-per-worker

Installation

pip install pytest-parallel

Options

  • workers (optional) - max workers (aka processes) to start. Can be a positive integer or auto which uses one worker per core. Defaults to 1.
  • tests-per-worker (optional) - max concurrent tests per worker. Can be a positive integer or auto which evenly divides tests among the workers up to 50 concurrent tests. Defaults to 1.

Examples

# runs 2 workers with 1 test per worker at a time
pytest --workers 2

# runs 4 workers (assuming a quad-core machine) with 1 test per worker
pytest --workers auto

# runs 1 worker with 4 tests at a time
pytest --tests-per-worker 4

# runs 1 worker with up to 50 tests at a time
pytest --tests-per-worker auto

# runs 2 workers with up to 50 tests per worker
pytest --workers 2 --tests-per-worker auto

License

MIT

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-parallel-0.0.10.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

pytest_parallel-0.0.10-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file pytest-parallel-0.0.10.tar.gz.

File metadata

  • Download URL: pytest-parallel-0.0.10.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.5

File hashes

Hashes for pytest-parallel-0.0.10.tar.gz
Algorithm Hash digest
SHA256 0c9af11d9274821a8b47a0cb1ccbecf7cfdf48e0b8db20465e34edb238cacb82
MD5 b59a51f0b0450faf178d9a24b54548e5
BLAKE2b-256 0e5f9edfdb9bd9744aff5a9a8d0b09b74dfaa36dea27c5bffdd787e5018a46f9

See more details on using hashes here.

File details

Details for the file pytest_parallel-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: pytest_parallel-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.5

File hashes

Hashes for pytest_parallel-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 87587f6440312b88d93dc8d085d68a911ec3c17ed5771d8e9a36f2bdfbc6d750
MD5 b08eb9af0cc27c5daa53ee91def298b5
BLAKE2b-256 ad275fb84884c5fe4bfd627765b2a4a521686c11d84b5a6b4f40e4b3f445fe00

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