Rad*_*dek 11 python unit-testing coverage.py python-3.x python-venv
https://coverage.readthedocs.io/en/coverage-4.5.1a/source.html#source
我的覆盖范围还包括“venv”文件夹,无论我做什么,我都想排除它 --include 或省略没有任何效果
coverage run --omit /venv/* tests.py
Run Code Online (Sandbox Code Playgroud)
这会运行测试,但仍会添加“venv”文件夹和依赖项及其覆盖率百分比
当我做
coverage run --include tests.py
Run Code Online (Sandbox Code Playgroud)
只运行测试 - 它说
Nothing to do.
Run Code Online (Sandbox Code Playgroud)
这很烦人......有人可以帮忙吗?
ssh*_*how 15
该--omit选项的帮助文本说(文档)
--omit=PAT1,PAT2,... Omit files whose paths match one of these patterns.
Accepts shell-style wildcards, which must be quoted.
Run Code Online (Sandbox Code Playgroud)
如果不引用通配符,它将无法工作,因为 bash 会在将参数列表传递给覆盖二进制文件之前扩展通配符。使用单引号避免 bash 通配符扩展。
要运行我的测试而不覆盖venv/* 中的任何文件:
$ coverage run --omit 'venv/*' -m unittest tests/*.py && coverage report -m
........
----------------------------------------------------------------------
Ran 8 tests in 0.023s
OK
Name Stmts Miss Cover Missing
-------------------------------------------------------
ruterstop.py 84 8 90% 177, 188, 191-197, 207
tests/test_ruterstop.py 108 0 100%
-------------------------------------------------------
TOTAL 192 8 96%
Run Code Online (Sandbox Code Playgroud)
如果您通常使用普通python -m unittest来运行您的测试,您当然也可以省略测试目标参数。
$ coverage run --omit 'venv/*' -m unittest
$ coverage report -m
Run Code Online (Sandbox Code Playgroud)
命令:
coverage run --omit /venv/* tests.py
Run Code Online (Sandbox Code Playgroud)
省略覆盖范围/venv(即:venv脱离根)。
您应该尝试使用相对目录,例如:
coverage run --omit venv tests.py
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4224 次 |
| 最近记录: |