मैं एक यूनिट परीक्षण लिखने की कोशिश कर रहा हूं जिसे किसी विधि को बुलाया गया है या नहीं। मैं जुनीट, मॉकिटो और पावरमोक का उपयोग कर रहा हूं।जांच के तहत सिस्टम पर विधि कहां से कॉल की जाती है (नकली नहीं)
public class Invoice { protected void createInvoice() { // random stuff here markInvoiceAsBilled("57"); } protected void markInvoiceAsBilled(String code) { // marked as billed } }
तो, यहां परीक्षण के तहत मेरा सिस्टम Invoice
है। मैं इस परीक्षण चल रहा हूँ:
public class InvoiceTest { @Test public void testInvoiceMarkedAsBilled() { Invoice sut = new Invoice(); Invoice sutSpy = spy(sut); sut.createInvoice(); // I want to verify that markInvoiceAsBilled() was called } }
यह उदाहरण सिर्फ वास्तविक कोड कैसा दिखता का एक उदाहरण है ....
मेरे समस्या यह है कि mockito कहते हैं अगर एक विधि कहा जाता है कि आप केवल पुष्टि कर सकते हैं है एक मॉक ऑब्जेक्ट पर ... लेकिन मैं इस ऑब्जेक्ट को नकल नहीं करना चाहता, क्योंकि यह मेरी ऑब्जेक्ट टेस्ट के तहत है। मुझे पता है कि आप वस्तु आप परीक्षण कर रहे हैं पर जासूसी कर सकते हैं, तो यहाँ मैं क्या करने की कोशिश की है:
verify(sutSpy).markInvoiceAsBilled("57");
मैं क्या संभव नहीं करने के लिए कोशिश कर रहा हूँ है? या मैं बस इसके बारे में गलत तरीके से जा रहा हूँ?
सभी को धन्यवाद :)