automatically check condition and log all the checks
Project description
Please use pytest-oot plug-in, which provides same functions and much more.
This pytest plugin is very simple, which is for users who use test_steps in py.test framework. Use this plugin, the function detection mechanism is using pytest runtest_setup to do it, instead of using the original mechanism, which requires users know more about the auto-function-detection while writing scripts originally. Now, it will be all set, while taken care of by this plugin.
Install pytest-autochecklog
pip install pytest-autochecklog
Using
Given the following tests (suppose it is in file /test_steps_example/test1.py)
from test_steps import *
import random
def test_example():
ok("just pass the check and log it")
#fail("Just fail the check and log it")
ok(3+2 == 5, "pass if expr else fail")
#eq("Shanghai", "Beijing", "Shanghai not equal to Beijing")
eq(4+5, 9)
ne("Shanghai", "Beijing", "Pass, Shanghai not equal to Beijing")
#'Shanghai City' contains 'Country', the second parameter could be regex
check(" 'Shanghai City' =~ 'Country' ", warning=True)
unmatch("Shanghai City", "Country", "Pass, not contains, regex can be used too")
check('random.uniform(1,20) > 15', repeat=5)
After installed the plugin for pytest, when you run pytest with the above test case, then, you will get the following log in logfile /tmp/test_yyyymmdd_hhmm.log by default like:
Steven-Mac:tmp Steven$ cat test_20150124_1545.log 2015-01-24 15:45:11,184 - INFO - ------------------------------------------------------ 2015-01-24 15:45:11,197 - INFO - Func test_example in file: /test_steps_example/test1.py 2015-01-24 15:45:11,198 - INFO - Check-1: just pass the check and log it -PASS- 2015-01-24 15:45:11,198 - INFO - Check-2: pass if expr else fail -PASS- 2015-01-24 15:45:11,198 - INFO - Check-3: 9 == 9 -PASS- 9 == 9? 2015-01-24 15:45:11,199 - INFO - Check-4: Pass, Shanghai not equal to Beijing -PASS- 'Shanghai' != 'Beijing'? 2015-01-24 15:45:11,202 - INFO - Check-5: 'Shanghai City' =~ 'Country' -PASS- 'Shanghai City' =~ 'Country' 2015-01-24 15:45:11,202 - WARNING - ^^^ condition not met (pass due to -w option set) ^^^ 2015-01-24 15:45:11,203 - INFO - Check-6: Pass, not contains, regex can be used too -PASS- 'Shanghai City' !~ 'Country'? 2015-01-24 15:45:13,204 - DEBUG - vvv Results(-r 5 set) { 1:<11.960281812565919 > 15> 2:<12.284208523480407 > 15> 3:<15.89909604817515 > 15> } vvv 2015-01-24 15:45:13,204 - INFO - Check-7: random.uniform(1,20) > 15 -PASS- 15.89909604817515 > 15 - tried 3 times in 5 seconds
Btw, you can change the log file and format by using test_steps functions.
See more information about test_steps module
https://pypi.python.org/pypi?:action=display&name=test_steps
Project details
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-autochecklog-0.2.0.tar.gz
.
File metadata
- Download URL: pytest-autochecklog-0.2.0.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71eae9b35ec198e0dc34676d481a4dcfdcba9f658d3092c4bb852595746fc66b |
|
MD5 | 80ec8d16262b14bc450c61aa58949e88 |
|
BLAKE2b-256 | 92fd0760880b86ed18be4da6148dcac37a326b63ce72552dcd1266e187562567 |