este posibil să treacă tip de o interfață cu medicamentele generice?
Interfata:
public interface AsyncCallback<T>
În metoda de testare:
Mockito.any(AsyncCallback.class)
Pune <ResponseX> in spatele sau pentru
.clasa` nu au de lucru.
Există un tip în condiții de siguranță mod: utilizare ArgumentMatchers.orice()
și să se califice cu tipul:
ArgumentMatchers.<AsyncCallback<ResponseX>>any()
ca pierrefevrier menționat în comentarii, cu noile versiuni de Mockito l's
Matchers.<AsyncCallback<ResponseX>>any()
Folosind Java 8, pur și simplu, puteți folosi orice()(presupunând static de import), fără ceartă sau de tip parametru pentru a sporit tipul de inferență. Compilatorul știe acum la țintă de tip (tipul de metoda argument) care de fapt te referi la
un fitil.<AsyncCallback
Am avut de a adopta următoarele mechamism pentru a permite generice:
import static org.mockito.Matchers.any;
List<String> list = any();
when(callMyMethod.getResult(list)).thenReturn(myResultString);
Sper că acest lucru ajută cineva.
În continuare să thSoft's a răspunde punerea calificat suna la orice() în metoda as putea elimina de calificare de la întoarcerea tip de permis de inferență:
private HashMap<String, String> anyStringStringHashMap() {
return Matchers.any();
}
Poți doar să-l arunce, adăugând suprima avertismente dacă vă place:
@SuppressWarnings("unchecked")
AsyncCallback<ResponseX> callback = Mockito.any(AsyncCallback.class)
Dacă Java este permis 'generic' medicamente generice ar putea fi o metoda de genul asta, care este ceea ce cauti
private static <T, E> T<E> mock(Class<T<E>> clazz)