2012-02-11 13 views
16

Bu yöntemi adduser() test etmek için Mockito tabanlı JUnit yöntemini nasıl yazarım? Yazmayı denedim, ancak istisnanın ele alınmadığını söyleyen bir hata mesajı ile başarısız oluyor. Hata görüntülenir:Yakalanmamış özel kural dışı durumları atlayan yöntemleri test etmek için mockito kullanma

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

iş sınıfında addUser() yöntem asla herhangi durum yakalar ve yeniden atma yapılmaz varsayalım.

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

TEST DURUM YÖNTEM: Burada Test sınıfında

Ben @Mock özniteliği ile hizmet katmanı sınıfı alay ve onu enjekte ediyorum.

@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); 
} 

Lütfen test durumundaki özel durum senaryosunun nasıl işleneceğini bana söyleyin.

+2

Sınama yaptığınız her şeyin, yöntemin boş olmayan bir şey döndürdüğünün farkında mısınız? Sanırım "apache" döndürdüğünü iddia etmelisiniz, çünkü gerçekten 'service.addUser()' işlevinin çağrıldığını kontrol etmeniz gerekiyor. –

cevap

28

Test yönteminde istisnayı bildirin.

public void testAddUser() throws ServiceException{ 
... 
} 
İlgili konular