Skip to main content

nose plugin - auto check condition and log all checks

Project description

https://pypip.in/v/nose_autochecklog/badge.png https://pypip.in/d/nose_autochecklog/badge.png

This nose plugin is very simple, which is for users who use test_steps in nose framework. Use this plugin, the function detection mechanism is using nose prepareTestCase to do it, instead of using the original mechanism, which requires users know more about the auto-function-detection while writing scripts originally.

Install nose-autochecklog

pip install nose-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)

running it with nosetest using nose-autochecklog plugin:

nosetests --with-autochecklog

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 how to use check functions from test_steps module

https://pypi.python.org/pypi?:action=display&name=test_steps

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

nose-autochecklog-0.1.1.tar.gz (4.9 kB view details)

Uploaded Source

File details

Details for the file nose-autochecklog-0.1.1.tar.gz.

File metadata

File hashes

Hashes for nose-autochecklog-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6815c62e1d2a263d021c1a70d089dd4fe41140219cdcdc24640bca21814a24fa
MD5 66c6a99b96019118d62e54e799756b7c
BLAKE2b-256 b045b98c96ed4c0d1da8d79e592cb00883c9cefeac4ff453d294840f3a55ade9

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