À l'aide de Mockito annotations avec le printemps

Je suis à l'aide de printemps dans mon application et je veux écrire des tests unitaires pour toutes mes classes. J'appelle quelques-uns des services web externes à partir de mon application et je veux se moquer d'eux à l'aide de Mockito depuis je veux juste tester mon fonctionnalités.

Permet de dire que j'ai le scénario suivant

C'est mon webservice interface

public interface MyWebService {
    public String getSomeData(int id);
}

- Je utiliser le service ci-dessus, de cette façon

public interface MyService {
    int doSomethingElse(String str);
}

public class MyServiceImpl implements MyService {

    private MyWebService myWebService;

    int doSomethingElse(String str) {
        .....
        myWebService.getSomeData(id);
        ...
    }
}

public interface MyService1 {
    Stirng methodToBeTested();
}


public class Class1 implements MyService1{
    @Resource
    private MyService myService;

    public Stirng methodToBeTested() {
        myService.doSomethingElse("..");
    }
}

J'ai écrit le uint cas de test comme ci-dessous. Je suis d'espionnage MyService, afin d'exécuter le test de l'unité.

public class class1Test {

    @Spy
    MyService myService;

    @Resource
    @InjectMocks
    Class1 class1;

    public void setUPTest() {
        MockitoAnnotations.initMocks(this);
    Mockito.doReturn(123).when(myService).doSomethingElse("someString");
    }

    @Test
    public void methodToBeTestedTest() {
        this.setUPTest();
            ...
            class1.methodToBeTested();
    }

}

Quand je lance le test, ce que je vois, c'est que, j'obtiens la valeur de la webservice place de ce que je mentionne tout en écrasant.

Quelqu'un peut-il m'aider?

OriginalL'auteur rahul | 2013-03-26