La mia classe in prova ha questo metodoMockito modello per una chiamata di servizio Web Primavera
public SomeWebServiceResponse callDownstream(SomeWebServiceRequest request) {
return (SomeWebServiceResponse) super.callService(request);
}
il metodo super-è solo una chiamata a primavera WS per effettuare la chiamata - in forma semplificata
response = getWebServiceTemplate().marshalSendAndReceive(this.getBaseURL(),
request);
return response;
Quando scrivo un test di unità, ho provato a effettuare una chiamata al servizio web effettivo. Non sono chiaro come deriderlo o piuttosto cosa dovremmo prendere in giro.
Dovrei caricare una risposta di esempio dal filesystem e cercare una stringa in esso - in tal caso sto solo testando il caricamento dei file.
La chiamata effettiva è in classe base e so che non possiamo prendere in giro solo quel metodo. Qualche indicazione?
Siamo spiacenti per il mio commento precedente. Penso di non aver capito bene il problema. Fornirò un esempio su come eseguire i test unitari con il server di servizio Spring Mock. –
Mocking di tutto il servizio Web, incluso l'invio e la ricezione di un messaggio (primo esempio di codice) è in realtà più di un test di unità: si tratta di un test di integrazione, come indicato anche nel manuale Spring. Se hai solo bisogno di un test unitario, dovresti seguire Mockito (secondo esempio di codice). – Justus