Skip to main content

Numerous useful plugins for pytest.

Project description

Build Status codecov.io PyPI Status license

Copyright (C) 2016 Samuel Colvin

Numerous useful plugins for pytest.

Fixtures

tmpworkdir

Run the test with the working directory set to a temporary directory. Similar to the pytest plugin tmpdir except working directory is changed.

smart_caplog

capture logs with a smarter interface than pytest’s native caplog

print_logs

print all logs.

loop

asyncio loop.

Methods

(See below for usage examples).

mktree

Create a tree of files from a dictionary.

gettree

Return a dictionary depicting a directory tree.

Comparison Objects

All can be imported from pytest_toolbox.comparison.

CloseToNow

check that a date (or date-like object) is close to now

AnyInt

check tests that an object is an int

RegexStr

check that a string matches the regex

IsUUID

that that an object is an instance of UUID.

Used with equals as in my_date == CloseToNow(), these are useful when checking objects which contain a few unknown values are as expected

Eg.

assert {
    'details': {
        'user': 'foobar@example.com',
        'id': AnyInt(),
        'published': False,
        'event': 'an example',
        'created_ts': CloseToNow(),
    },
    'other_thing': [
        ...
    ],
    ...
} == obj

Usage

from pytest_toolbox import gettree, mktree

def test_whatever(tmpworkdir):
    mktree(tmpworkdir, {
        'foobar.txt': 'has this content'
    })
    assert gettree(tmpworkdir) = {'foobar.txt': 'has this content'}

TODO

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-toolbox-0.4.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

pytest_toolbox-0.4-py35+-none-any.whl (6.2 kB view details)

Uploaded Python 3.5+

File details

Details for the file pytest-toolbox-0.4.tar.gz.

File metadata

File hashes

Hashes for pytest-toolbox-0.4.tar.gz
Algorithm Hash digest
SHA256 e23243aabd20dfb4e6ca7c1b18bcda3951119c7827898a535ef84d3e2915a673
MD5 524107c82087f613ac8af7134dc14792
BLAKE2b-256 7563ffc87832881f6d0c5899140a4e3d379f5f464f6185ac48c21a2f48662c11

See more details on using hashes here.

File details

Details for the file pytest_toolbox-0.4-py35+-none-any.whl.

File metadata

File hashes

Hashes for pytest_toolbox-0.4-py35+-none-any.whl
Algorithm Hash digest
SHA256 31db0ee5492e0878ece2a98687209cbd96952317c7e1b2a2423342db4a2db103
MD5 81f3142d390f27153bae3bdebf573b27
BLAKE2b-256 c7011d183f6d5c9156da1a82e9d61f93eb8ecb3a7e388b0747e5db4d71e5109e

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