Ho un controller che risponde alle chiamate REST, ho vari casi di test per i miei altri metodi pubblici.Spring Junit test case per il servizio di controllo del controller
non so come scrivere uno per il mio controller:
@RequestMapping(value = "/api/frames", method = RequestMethod.GET)
public List<Frame> getFrames(
@RequestParam(value="frameLength", required=true) Double frameLength,
@RequestParam(value="frameBreadth", required=true) Double frameBreadth,
@RequestParam(value="mountThickness", required=true) Double mountThickness,
@RequestParam(value="frameThickness", required=true) Double frameThickness){
List<Frame> tempFrames = new ArrayList<>();
List<FrameVariant> frameVariants = frameVariantService.getFrames(
frameLength, frameBreadth, mountThickness, frameThickness);
for (FrameVariant frameVariant : frameVariants) {
tempFrames.add(new Frame(frameVariant));
}
return tempFrames;
}
non ho idea di come scrivere un banco di prova per questo metodo di controllo.
Per essere onesto, non credo che il test di unità * questo metodo valga molto. L'unica cosa che puoi veramente verificare è che inoltra correttamente i parametri alla funzione 'getFrames' e quindi converte ciascun' FrameVariant' in un 'Frame'. Sia la funzione che il costruttore di conversione dovrebbero essere testati in qualsiasi modo. Questa funzionalità dovrebbe essere testata come test end-to-end, ovvero implementare questo servizio (e un 'set di dati di test') e fare una richiesta HTTP effettiva. – thecoshman