2013-06-13 8 views
12

कहा जाता है जब मैं मॉकिटो को पर एक कस्टम क्रिया निष्पादित करता हूं, जब किसी दिए गए शून्य विधि को कहा जाता है तो कस्टम कार्रवाई करना।एक दिए गए मॉक किए गए शून्य विधि को

@Autowired 
private ProfileService profileService; 

@Autowired 
private ProfileDao profileDao; 

private List<Profile> profiles; 

@Before 
public void setup() { 
    Mockito.when(profileDao.findAll()).thenReturn(profiles); 
    Mockito.when(profileDao.persist(any(Profile.class))).thenAddProfileToAboveList... 
} 

@Configuration 
public static class testConfiguration { 
    @Bean 
    public ProfileDao ProfileDao() { 
     return mock(ProfileDao.class); 
    } 
} 

मैं प्रोफ़ाइल सूची में शामिल एक प्रोफ़ाइल उदाहरण जोड़ना चाहते हैं कहते हैं:

मैं निम्नलिखित कोड है कहो। क्या मॉकिटो ऐसा कर सकता है? यदि हां, तो कैसे?

उत्तर

19

Mockito.doAnswer का उपयोग करें।

doAnswer(new Answer() { 
    public Object answer(InvocationOnMock invocation) { 
     // make the changes you need here 
    }}) 
.when(mock).someMethod(); 
+0

क्या मुझे इस उत्तर पर थोड़ा अधिक जानकारी मिल सकती है? ओपी ने प्रोफाइल को 'प्रोफ़ाइल' में जोड़ने के लिए कहा, लेकिन उपर्युक्त कोड न तो उल्लेख करता है ... और 'प्रोफ़ाइल' सूची स्वयं भीतरी वर्ग के दायरे से बाहर प्रतीत होती है - और लिंक किए गए दस्तावेज़ों में मज़ेदार मॉक्स पर अधिक ध्यान केंद्रित किया जाता है मनमाने ढंग से अनमॉक कोड कॉल करने की तुलना में। –

+0

https://stackoverflow.com/a/12088675/2112722 में अधिक जानकारी है ... –

संबंधित मुद्दे