How to test?

DL Neil PythonList at DancesWithMice.info
Fri Apr 24 16:25:00 EDT 2020


On 25/04/20 6:40 AM, Manfred Lotz wrote:
> I have a command like application which checks a directory tree for
> certain things. If there are errors then messages will be written to
> stdout.
> 
> How to test this in the best way?
> 
> One idea was for the error situations to write messages to files and
> then later when running the tests to compare the error messages output
> to the previously saved output.
> 
> Is there anything better?

Yes, as well as reproducing the output on-screen, there are now three 
ways to deal with stdout. The newest is "tee", which like the Linux 
command of the same name, gives the best of both worlds - display and 
'capture'!

Capturing of the stdout/stderr output
https://docs.pytest.org/en/latest/capture.html


May I point-out that the above may not be the best approach. Rather than 
using screen-prints to report errors, another method is to utilise 
"logging" to collect such data - so that there is always a formal record 
(regardless of user behavior). During 'production' the information could 
be collected at some central 'location' for inspection by competent 
staff. During 'development', it is possible, by changing one line, to 
re-direct the log to wherever you would like - including the above!

Python library: https://docs.python.org/3/library/logging.html
Logging (testing): https://docs.pytest.org/en/latest/logging.html
-- 
Regards =dn


More information about the Python-list mailing list