py.test is a simple yet powerful tool that allows you to run tests.
It may be useful not only for big projects but even for one-off scripts.
Let's say you write a small utility to parse some log, and you have a function to detect GET requests.
return re.search(r'\bGET\b', line)
To test it you may put some debug statements in your script,
copy the function to another file or Python shell and run it manually,
or create a stand-alone test script.
Or you may just define
that doesn't interfere with your script unless it is executed with
assert is_get('12:00 GET url')
assert is_get('00:00 url GET params')
assert not is_get('07:00 GETTER restart')
Once the script is started with
test_* will be executed.
This way you can actually have two modes to run your script:
python to parser log or with
py.test to test some things
you want to be tested.