Wie Sie überprüfen, wenn-Anweisung in der Methode mit Mockito und JUnit?

Habe ich die Methode, dass ich getestet werden sollte. Code (natürlich einige Teile wurden geschnitten):

public class FilterDataController {

    public static final String DATE_FORMAT = "yyyy-MM-dd";

    @Autowired
    private FilterDataProvider filterDataProvider;

    @ApiOperation(value = "Get possible filter data",response = ResponseEntity.class)
    @ApiResponses(value = {
            @ApiResponse(...),
            @ApiResponse(...)})
    @RequestMapping(path = "...", method = RequestMethod.GET)
    public ResponseEntity<Object> getPossibleFilterData(
            @RequestParam(value = "startDate") @DateTimeFormat(pattern=DATE_FORMAT) final Date startDate,
            @RequestParam(value = "endDate") @DateTimeFormat(pattern=DATE_FORMAT) final Date endDate) {
        if (endDate.compareTo(startDate) == -1){
            throw new ValueNotAllowedException("End date should be after or equal start date");
        }
        else {
            Date newEndDate = endDate;
            if (startDate.equals(endDate)){
                newEndDate = new Date(endDate.getTime() + TimeUnit.DAYS.toMillis(1) - 1);
            }

            List<String> possibleCountries = Lists.newArrayList(filterDataProvider.getPossibleCountries(startDate, newEndDate));

            return new ResponseEntity<>(new FilterResponse(possibleCountries),HttpStatus.OK);
        }
    }   
}

Frage: wie um zu überprüfen, wenn-Anweisung in der Methode getPossibleFilterData mit Mockito und JUnit? Ich will pass gleich Termine zur Methode dann überprüfen, ob meine if-Anweisung funktioniert.

Wie bereits in vielen der Antworten, die tests sollten nicht davon ausgehen, dass Ihre Implementierung: was ist, wenn Sie die Umgestaltung der Methode, so gibt es richtige Werte, sondern verwendet keine if Aussage überhaupt? Anstatt anzunehmen, dass pass falschen Werten und den test bestehen, nur wenn Sie fangen die richtige exception.
vielen Dank für die Beratung.

InformationsquelleAutor Woland | 2016-10-11

Schreibe einen Kommentar