SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • RickardRick

    RickardRick

    9 Mart 2007
  • steven johns

    steven johns

    11 Mart 2011
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009