pytest-regtest 0.12.2
pip install pytest-regtest==0.12.2
Released:
py.test plugin for regression tests
Navigation
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: http://opensource.org/licenses/GPL-3.0
- Author: Uwe Schmitt
Project description
This pytest-plugin allows capturing of output of test functions which can be compared to the captured output from former runs.
This is a common technique to start TDD if you have to refactor legacy code which ships without tests.
To install and activate this plugin execute:
$ pip install pytest-regtest
from your command line.
This py.test plugin provides a fixture named regtest for recording data by writing to this fixture, which behaves like an output stream:
from __future__ import print_function def test_squares_up_to_ten(regtest): result = [i*i for i in range(10)] # one way to record output: print(result, file=regtest) # alternative method to record output: regtest.write("done")
If you run this test script with py.test the first time there is no recorded output for this test function so far and thus the test will fail with a message including a diff:
$ py.test ... def test_squares_up_to_ten(regtest): E > Regression test failed > > --- is > +++ tobe > @@ -1,2 +1 @@ > -[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] > -done > +
For accepting this output, we run py.test with the –reset-regtest flag:
$ py.test --regtest-reset
The recorded output is written to files in the subfolder _regtest_outputs next to your test script(s).
Now the next execution of py.test will succeed:
$ py.test
Other features
Another way to record output is the regtest_redirect fixture:
def test_squares_up_to_ten(regtest_redirect): result = [i*i for i in range(10)] with regtest_redirect(): print result
You can reset recorded output of files and functions individually as:
$ py.test --regtest-reset tests/test_00.py $ py.test --regtest-reset tests/test_00.py::test_squares_up_to_ten
To supress the diff and only see the stats use:
$ py.test --regtest-nodiff
If you want to see the during the test run recorded output use:
$ py.test --regtest-tee -s
If you develop on mixed platforms it might be usefull to ignore white spaces at the end of the lines when comparing output. This can be achieved by specifying:
$ py.test --regtest-ignore-line-endings
Project details
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: http://opensource.org/licenses/GPL-3.0
- Author: Uwe Schmitt
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pytest-regtest-0.12.2.tar.gz
.
File metadata
- Download URL: pytest-regtest-0.12.2.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
f8992f7b64bf54841b9df17441ef60b0762e5d90f0cc212512b9d31bc26c22dd
|
|
MD5 |
6907aa2ac77dc9430a1955f548f4b090
|
|
BLAKE2b-256 |
84bedc5546dec47ab2e2c1f81d42f87c3f12dd7f45be1ef9db468c6107ea24bd
|