Unit tests and coverage

Ned Batchelder ned at nedbatchelder.com
Sun Dec 29 09:07:34 EST 2013


On 12/28/13 11:21 PM, Joseph L. Casale wrote:
> I have a script that accepts cmdline arguments and receives input via stdin.
> I have a unit test for it that uses Popen to setup an environment, pass the args
> and provide the stdin.
>
> Problem is obviously this does nothing for providing coverage. Given the above
> specifics, anyone know of a way to work around this?
>
> Thanks,
> jlc
>

It sounds like you may have already found the coverage.py docs on 
measuring subprocesses.  Another approach is to refactor your code so 
that the bulk of it can be invoked without a subprocess, then test that 
code with simple function calls.  Those tests will be easy to measure 
with coverage.py, and by the way, they'll run much faster and be easier 
to debug.

-- 
Ned Batchelder, http://nedbatchelder.com




More information about the Python-list mailing list