【问题标题】:Coverage report of nosetests in case of child process在子进程的情况下鼻子测试的覆盖率报告
【发布时间】:2013-09-25 11:35:52
【问题描述】:
我正在使用nosetests 对一些python 脚本进行单元测试。有问题的脚本创建了一个子进程。
我正在使用以下命令执行脚本:
nosetests -s -v 'python script.py' --with-coverage
我已经安装了 nose-cov。它的版本是1.6。
我得到的覆盖率报告不包含孩子执行的代码的覆盖率。
有没有办法获得子进程的覆盖??
谢谢
【问题讨论】:
标签:
python
unit-testing
code-coverage
nosetests
coverage.py
【解决方案1】:
Nose 正在使用出色的 coverage 包来完成这项工作。假设您使用子进程启动子进程,在您的测试中,您可以暂时mock 或猴子补丁启动您的孩子为:
subprocess.call(['coverage', 'run', 'my_child_program.py', '-p'])
使用-p 选项来合并报告。您可能需要其他选项来确保您的鼻子选项指向与您的子流程调用相同的.coverage 报告文件。