मैं एक Makefiel
के माध्यम से निम्नलिखित चला रहा हूँ:कवरेज परीक्षण
NPROCS:=$(shell /usr/bin/nproc)
.PHONY: coverage-app
coverage-app:
coverage erase --rcfile=./.coveragerc-app
coverage run --parallel-mode --rcfile=./.coveragerc-app manage.py test -v 3 --parallel=$(NPROCS) app
coverage combine --rcfile=./.coveragerc-app
coverage report -m --rcfile=./.coveragerc-app
अगर मैं 1 के लिए NPROCS
निर्धारित करते हैं, मैं app
के भीतर सभी फाइलों की उम्मीद 100% परीक्षण कवरेज मिलता है। हालांकि, अगर NPROCS
1 से अधिक है, तो मुझे अपनी रिपोर्ट में बहुत सारी लापता लाइनें मिलती हैं।
मैं क्या गलत कर रहा हूं?
मेरे .coveragerc-app
इस प्रकार है:
# Control coverage.py
[run]
branch = True
omit = */__init__*
*/test*.py
*/migrations/*
*/urls.py
app/admin.py
app/apps.py
source = app
parallel = true
[report]
precision = 1
show_missing = True
ignore_errors = True
exclude_lines =
pragma: no cover
raise NotImplementedError
except ImportError
def __repr__
if self\.logger\.debug
if __name__ == .__main__.:
मुझे लगता है कि आपको subprocesses ठीक से मापा जा रहा नहीं है। आप रन के दौरान उत्पादित डेटा फ़ाइलों की जांच कर सकते हैं। आप कितने प्राप्त करते हैं, और वे किन लाइनों को कवर कर रहे हैं? आप डेटा का सारांश देख सकते हैं: "COVERAGE_FILE = the_data_file कवरेज डीबग डेटा" –
@NedBatchelder मुझे केवल एक फ़ाइल '.coverage.serval.TLD.12116.528573' प्राप्त होती है जिसमें केवल डेटा का हिस्सा होता है। अंतिम रिपोर्ट वास्तव में सही है और उस फ़ाइल में डेटा से मेल खाती है। मुझे लगता है कि एक्स (= एनपीआरसीएस) फाइलें होनी चाहिए। मुझे आश्चर्य है कि यह django प्लगइन है जो सही काम नहीं कर रहा है? ... – Sardathrion