Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samuelcolvin/pytest-toolbox
Numerous useful plugins for pytest.
https://github.com/samuelcolvin/pytest-toolbox
Last synced: about 2 months ago
JSON representation
Numerous useful plugins for pytest.
- Host: GitHub
- URL: https://github.com/samuelcolvin/pytest-toolbox
- Owner: samuelcolvin
- License: mit
- Archived: true
- Created: 2016-12-06T17:23:52.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-09-27T12:23:41.000Z (almost 2 years ago)
- Last Synced: 2024-07-05T14:59:54.244Z (3 months ago)
- Language: Python
- Size: 35.2 KB
- Stars: 7
- Watchers: 3
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- License: LICENSE
Awesome Lists containing this project
README
pytest-toolbox
==============**Note:** this repo is no-longer maintained, the best bits have been moved to https://github.com/samuelcolvin/dirty-equals
|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 expectedEg.
.. code-block:: python
assert {
'details': {
'user': '[email protected]',
'id': AnyInt(),
'published': False,
'event': 'an example',
'created_ts': CloseToNow(),
},
'other_thing': [
...
],
...
} == objUsage
-----.. code:: python
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**
.. |Build Status| image:: https://travis-ci.org/samuelcolvin/pytest-toolbox.svg?branch=master
:target: https://travis-ci.org/samuelcolvin/pytest-toolbox
.. |codecov.io| image:: http://codecov.io/github/samuelcolvin/pytest-toolbox/coverage.svg?branch=master
:target: http://codecov.io/github/samuelcolvin/pytest-toolbox?branch=master
.. |PyPI Status| image:: https://img.shields.io/pypi/v/pytest-toolbox.svg?style=flat
:target: https://pypi.python.org/pypi/pytest-toolbox
.. |license| image:: https://img.shields.io/pypi/l/pytest-toolbox.svg
:target: https://github.com/samuelcolvin/pytest-toolbox