zend framework - PHPUnit mock a controller with reference parameter? -


मेरे पास एक वर्ग है:

  class हैलो {फ़ंक्शन doSomething (& amp; $ संदर्भ, $ NormalParameter) {// do stuff ...}}  

फिर मेरे पास एक नियंत्रक है:

  class myController {function goNowAction () {$ hello = नया हैलो (); $ Var = नया स्टड क्लास (); $ Var2 = नया स्टड क्लास (); $ Bla = $ hello- & gt; doSomething ($ var, $ var2); }}  

मैं "goNow" क्रिया की तरह अपने परीक्षणों का उपयोग कर कॉल करता हूं:

  $ this- & gt; प्रेषण ('/ मेरा / जाना-अब ');  

मैं "doSomething" विधि का नकली करना चाहता हूं ताकि यह शब्द "GONOW" देता है! जैसा कि परिणाम है। मैं ऐसा कैसे करूँ?

मैंने एक नकली बनाने की कोशिश की

  $ नकली = $ this- & gt; getMock ('हैलो', सरणी ('doSomething') );  

और फिर रिटर्न जोड़ना:

  $ stub- & gt; उम्मीद है ($ ----- () - & gt; विधि ('discoverRoute2 ') - & gt; होगा ($ this- & gt; वापसी वैल्यू ("GONOW!"));  

लेकिन मैं यह कैसे वास्तविक नियंत्रक है कि मैं परीक्षण कर रहा हूँ को हुक करने के लिए के रूप में stumped हूँ मुझे वास्तव में मॉक किए गए विधि को कॉल करने के लिए क्या करना है?

आप एक नकली बना सकते हैं संदर्भ के लिए, या यदि यह आपके कोड शो के रूप में सिर्फ एक साधारण संदर्भ है, तो एक चर भेजें फिर सामान्य नकली कॉल को बुलाया और परीक्षण किया जा सकता है।

  $ संदर्भवचनीय = 'रिक्त'; $ नकली = $ this- & gt; मिलमॉक ('हैलो', सरणी ('doSomething')); $ Stub- & gt; उम्मीद है ($ this- & gt; कोई भी) - & gt; विधि ('discoverRoute2') - & gt; होगा ($ this- & gt; वापसी वैल्यू ("GONOW!")); $ This- & gt; जोर देने वाले मूल्य ('GONOW!', $ Stub- & gt; doSomething ($ संदर्भ वांछनीय, 'TextParameter'));  

Comments