[英]Python sub-process coverage on Travis
我看過幾篇關於這個主題的文章,但似乎沒有一篇對我有用。
案子
一個 Python package 與基於unittest
的測試, pytest
作為測試運行器和插件,如pytest-cov
來支持coverage
。 在本地一切正常,所有測試都執行並通過,計算所有測試的覆蓋率,包括使用subprocess.check_output
的 CLI 測試。
問題
不知何故,在 Travis 方面,沒有為 CLI 測試計算覆蓋率。 無論我做什么,無論我在何處以及多少次包含coverage.pth
或sitecustomize.py
(在此處閱讀有關它的更多信息),都不包括CLI 的覆蓋范圍。
顯而易見的問題
我究竟做錯了什么?
作為對解決它所做的工作的回顧(對於可能需要答案的人),問題在於我的tox
配置。
之前(雖然測試通過,但效果不佳)
[testenv]
# Some other config above this line
commands =
pytest
之后(我真正做到了 100% 覆蓋)
[testenv]
# Some other config above this line
commands =
coverage erase
pip install -e .
pytest
pip install -e.
顯然是這里的關鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.