16 ŞUBAT 2010, Salı
Nasıl mockito ile yöntemleri geçersiz alay yapmak
Nasıl boşluk ile alay yöntem döndürme türü?
Gözlemci desen ben hayata ama nasıl bilmiyorum çünkü Mockito ile alay edemem.
Ve internette bir örnek bulmaya çalıştım, ancak başaramadım.
Benim sınıf gibi görünüyor
public class World {
List<Listener> listeners;
void addListener(Listener item) {
listeners.add(item);
}
void doAction(Action goal,Object obj) {
setState("i received");
goal.doAction(obj);
setState("i finished");
}
private string state;
//setter getter state
}
public class WorldTest implements Listener {
@Test public void word{
World w= mock(World.class);
w.addListener(this);
...
...
}
}
interface Listener {
void doAction();
}
Sistem sahte ile tetiklenir. =( Yukarıda bahsedilen sistem durumu göstermek istiyorum. Ve iddia onlara göre.
CEVAP
17 ŞUBAT 2010, ÇARŞAMBA
Bu mockito API docs bir göz atın. Olarak bağlantılı belge bahseder (# 12) kullanabilirsiniz herhangi bir doThrow()
,doAnswer()
,doNothing()
,doReturn()
ailesinin yöntemleri mockito çerçeve alay void yöntemleri.
Örneğin
Mockito.doThrow(new Exception()).when(instance).methodName();
ya da eğer takip davranışı ile birleştirmek istiyorsanız
Mockito.doThrow(new Exception()).doNothing().when(instance).methodName();
setState(String s)
sınıf Dünya ayarlayıcı aşağıda alaycı bakıyorsun o küstah kodu setState
alay için doAnswer
yöntemi kullanır.
World mockWorld = mock(World.class);
doAnswer(new Answer<Object>() {
public Object answer(InvocationOnMock invocation) {
Object[] args = invocation.getArguments();
return "called with arguments: " args;
}
}).when(mockWorld).setState(anyString());
Bunu Paylaş:
Bir yöntem için geçirilen bağımsız değ...
Nasıl özel yöntemleri, alanları veya i...
Nasıl div içeriğini daha büyük değil y...
Nasıl dava Vim / küçük harf duyarlı ar...
Nasıl twitter bootstrap menü hover yer...