2012-02-11 10 views
16

इस विधि का परीक्षण करने के लिए मैं Mockito- आधारित JUnit विधि कैसे लिखूं adduser()? मैंने एक लिखने की कोशिश की, लेकिन यह एक त्रुटि संदेश के साथ विफल रहा है जिसमें कहा गया है कि अपवाद नहीं है। त्रुटि के लिए प्रदर्शित होता है:अनजान कस्टम अपवादों को फेंकने वाले तरीकों का परीक्षण करने के लिए मॉकिटो का उपयोग करना

when(service.addUser("nginx")).thenReturn("apache"); 

मान लें बिजनेस क्लास में addUser() विधि कभी नहीं किसी भी अपवाद पकड़ता और rethrowing नहीं किया जाता है।

class Business { 
    public User addUser() throws ServiceException{ 
     User user = service.addUser("nginx"); 
     return user; 
    } 
} 

परीक्षण का मामला विधि:

यहाँ परीक्षण कक्षा में मैं @Mock विशेषता के साथ सेवा परत वर्ग मजाक कर रहा हूँ और यह इंजेक्शन लगाने।

@Mock 
Service service; 

@InjectMocks 
Business business = new Business(); 

@Test 
public void testAddUser() { 
    when(service.addUser("nginx")).thenReturn("apache");  
    User user = business.addUser("nginx"); 
    assertNotNull(user); 
} 

कृपया मुझे बताएं कि परीक्षण मामले में अपवाद परिदृश्य को कैसे संभाला जाए।

+2

क्या आप जानते हैं कि आप जो भी परीक्षण कर रहे हैं वह यह है कि विधि कुछ शून्य नहीं देती है। मुझे लगता है कि आपको यह कहना चाहिए कि यह "अपाचे" देता है, क्योंकि आपको वास्तव में यह जांचने की ज़रूरत है कि 'service.addUser()' वास्तव में कहा गया है। –

उत्तर

28

परीक्षण विधि में अपवाद घोषित करें।

public void testAddUser() throws ServiceException{ 
... 
}