के साथ विधियों को प्रतिस्थापित करने का तरीका कहें कि मैं किसी ऑब्जेक्ट में किसी विधि को प्रतिस्थापित करना चाहता हूं जो किसी डेटाबेस से डेटाबेस प्राप्त करता है जिसमें डेटा पूर्व-जनसंख्या है। यह मैं कैसे करूंगा?phpunit
https://phpunit.de/manual/current/en/test-doubles.html के अनुसार ...
setMethods (सरणी $ विधि) को नकली बिल्डर वस्तु पर कहा जा सकता है तरीकों कि एक विन्यास परीक्षण डबल के साथ प्रतिस्थापित किया जाना है निर्दिष्ट करें। अन्य तरीकों का व्यवहार नहीं बदला गया है। यदि आप setMethods (NULL) पर कॉल करते हैं, तो कोई विधि प्रतिस्थापित नहीं की जाएगी।
ग्रेट। तो यह phpunit बताता है कि मैं किस तरीके को प्रतिस्थापित करना चाहता हूं लेकिन मैं कहां कहूं कि मैं उन्हें किस जगह बदल रहा हूं?
मैं इस उदाहरण पाया:
protected function createSSHMock()
{
return $this->getMockBuilder('Net_SSH2')
->disableOriginalConstructor()
->setMethods(array('__destruct'))
->getMock();
}
महान - तो __destruct
विधि बदला जा रहा है। लेकिन इसके साथ क्या बदला जा रहा है? मुझे पता नहीं है। एक विधि है कि कुछ भी नहीं है, लेकिन जिसका व्यवहार आप बाद में कॉन्फ़िगर कर सकते हैं के साथ
https://github.com/phpseclib/phpseclib/blob/master/tests/Unit/Net/SSH2Test.php
क्या आप उदाहरण 9.2 देख सकते हैं? https://phpunit.de/manual/current/en/test-doubles.html मेरा मतलब है "स्टब को कॉन्फ़िगर करें" –