मैं माता पिता विधि मजाक के साथ समस्या है, इस उदाहरण है:PHPUnit नकली माता पिता विधि
class PathProvider
{
public function getPath()
{
return isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
}
}
class Uri extends PathProvider
{
public function getParam($param)
{
$path = $this->getPath();
if ($path == $param)
return 'OK';
else
return 'Bad';
}
}
और अब मैं नकली विधि getPath (चाहते हैं), और कॉल विधि getParam() जो मज़ाक उड़ाया मूल्य recive।
$mock = $this->getMock('PathProvider');
$mock->expects($this->any())
->method('getPath')
->will($this->returnValue('/panel2.0/user/index/id/5'));
मैं इस भाग को लिख रहा था, लेकिन मुझे नहीं पता कि मुझे विधि के परीक्षण के लिए इस नकली मूल्य को कैसे पारित करना होगा।
मुझे लगता है कि एक नया स्वरूप हो सकता है क्रम में, एक उरी एक PathProvider नहीं है, यह सिर्फ अपनी सेवाओं की जरूरत है। – GordonM
@ गॉर्डनएम पूरी तरह से सही है! आपको पथप्रोवाइडर को निर्भरता के रूप में बनाना चाहिए और इसे उरी कक्षा (नियंत्रक या बसने के माध्यम से) के अंदर इंजेक्ट करना चाहिए। अनैतिकता का उपयोग न करें – Cyprian