java - EasyMock + PowerMock : How to mock field? -


हम कोड के इस टुकड़े को देखते हैं:

  सार्वजनिक वर्ग ए {सार्वजनिक शून्य doSmth ( ) {// pay attention - शून्य विधि // impl}} सार्वजनिक वर्ग बी {निजी ए a_instance; // रिक्त सार्वजनिक शून्य doSmthElse () {a_instance.doSmth (); // एनपीई यहाँ बिना नकली // भी smth करते हैं Else}   

अब, मेरे पास बी बी = नया बी () है; और मुझे b.doSmthElse () परीक्षण करना है , लेकिन मुझे पहले a_instance ऑब्जेक्ट के लिए एक नकली बनाने की आवश्यकता है, अन्यथा मुझे NullPointerException मिलेगा! मैं इसे EasyMock या PowerMock के साथ कैसे प्राप्त कर सकता हूं ???

  @ टेस्ट सार्वजनिक शून्य टेस्टसमूह () {// सेटअप: बी बी = नया बी (); एक मॉकए = इज़ेक मॉक। क्यूट मॉक (एक्लास); b.setA_instance (mockA); // यदि आपके पास एक सेटर है / / सेटअप: उम्मीदों mockA.doSmth (); // व्यायाम EasyMock.replay (mockA); b.doSmthElse (); // सत्यापित करें EasyMock.verify (mockA); } @Test सार्वजनिक शून्य परीक्षणडोज़समयसेटसेटिंग () {// सेटअप: बी बी = नया बी (); एक मॉकए = इज़ेक मॉक। क्यूट मॉक (एक्लास); // एक स्प्रिंग प्रतिबिंब उपयोगिता प्रतिबिंबित यूटिटल। सेटफिल्ड (बी, "ए_ इंस्टेंट", मॉक ए) का प्रयोग करके सहयोगकर्ता को सेट करें; // सेटअप: उम्मीदों mockA.doSmth (); // व्यायाम EasyMock.replay (mockA); b.doSmthElse (); // सत्यापित करें EasyMock.verify (mockA); }    

Comments

Popular posts from this blog

c - Mpirun hangs when mpi send and recieve is put in a loop -

python - Apply coupon to a customer's subscription based on non-stripe related actions on the site -

java - Unable to get JDBC connection in Spring application to MySQL -