Skip to main content

a py.test plugin for parallel and concurrent testing

Project description

pytest-parallel

a py.test 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 parallelism

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.2.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

pytest_parallel-0.0.2-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for pytest-parallel-0.0.2.tar.gz
Algorithm Hash digest
SHA256 8422d9157654ecf84f37dcbcc4cbb86e33a9fa2c40e558852703f308df453768
MD5 9c08f601e388df84adc329b30dd6299a
BLAKE2b-256 81894ba0ef36bd6c18fb9c6bafc11df997711ae2ddbcb0ba4285888c3d5f2cd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytest_parallel-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f54c59ddf38111e774c1221ade4a0d0c9da5017c01ba5c4921af2daa01371422
MD5 dc58aac0d8ebb6140ef66ef969ea6812
BLAKE2b-256 b67cd93f3687a9cd5bc1732f054b01b74750c95e51eddc54164515997b4f914d

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