का उपयोग कर पाइथन कवरेज रिपोर्ट से नकली पैकेज को कैसे बाहर निकालना है मैं वर्तमान में पाइथन में कुछ मूल नाक unittests लिखने के लिए नकली पुस्तकालय का उपयोग करने की कोशिश करता हूं।nosetests
कुछ बुनियादी उदाहरण को पूरा करने के बाद अब मैंने nosetests --with-coverage
का उपयोग करने की कोशिश की है और अब मेरे पास नकली पैकेज है और पैकेज जिसे मैंने 'मॉक दूर' करने की कोशिश की है, कवरेज रिपोर्ट में दिखाया गया है। क्या इन्हें बाहर करने की संभावना है?
from imaplib import IMAP4
class ImapProxy:
def __init__(self, host):
self._client = IMAP4(host)
और testcase:
यहाँ वर्ग मैं परीक्षण करना चाहते है नकली आयात पैच से
from ImapProxy import ImapProxy
class TestImap:
def test_connect(self):
with patch('ImapProxy.IMAP4') as imapMock:
proxy = ImapProxy("testhost")
imapMock.assert_called_once_with("testhost")
मैं अब मिल के लिए nosetests --with-coverage
.
Name Stmts Miss Cover Missing
------------------------------------------
ImapProxy 4 0 100%
imaplib 675 675 0% 23-1519
mock 1240 810 35% [ a lot of lines]
निम्नलिखित उत्पादन
नकली पैकेज और बाहर करने के लिए कोई रास्ता है imaplib पैकेज द्वारा --cover-package=PACKAGE
नेड Batchelder के लिए धन्यवाद मैन्युअल रूप से सभी लेकिन उन संकुल श्वेत सूची बनाती बिना मैं अब, उसके लिए धन्यवाद .coveragerc फाइल के बारे में पता है!
[report]
omit = *mock*
अब कवरेज रिपोर्ट में नकली के लिए मेरे उत्पादन है:
mock 1240 1240 0% 16-2356
यह नकली पैकेज कवर नहीं करता है किसी भी अब लेकिन
मैं निम्नलिखित सामग्री के साथ एक .coveragerc फ़ाइल बनाई अभी भी रिपोर्ट में दिखाता है।
मैं Coverage.py, संस्करण 3.5.2 का उपयोग करता हूं यदि यह कोई मदद है।
कोशिश '--cover-erase' के साथ पिछले डेटा मिटाने के लिए। – xbello