Hallöchen
ich habe ein kleines Problem in Bezug auf das Testen von Methoden.
Die Methode die getestet werden soll:
und so sieht mein Test bislang aus:
Der erste @test dürfte so richtig sein, die CSMAssert Klasse wirft immer Invalid Data Exception, aber ich weiß dass der 2. Teil falsch ist und ich weiß nicht wie ich das besser hinbekomme.
MockSystemDao ist ein Mock den ich von iSystemDao am anfang des Tests geschrieben habe.
Vllt könnt ihr mir ja ein paar Tipps geben wie ich zb. einen richtigen Test für die erste NotFoundException schreiben kann.
Liebe Grüße
Katchy
ich habe ein kleines Problem in Bezug auf das Testen von Methoden.
Die Methode die getestet werden soll:
Java:
public final CalendarDto getCalendar(final int systemId) {
CsmAssert.isTrue(systemId>0, "System id must be a positive value.", "systemId");
final System system = iSystemDao.findOne(systemId);
if (system == null) {
throw new NotFoundException("System with the id: " + systemId + " cannot be found in the DB.",
"systemId");
}
final Calendar calendar = system.getCalender();
if (calendar == null) {
throw new NotFoundException("No calendar found for system " + system.getSystemName() + ".",
"calendar");
}
final CalendarDto calendarDto = new CalendarDto(calendar.getSlotLength(), calendar.getMaxSlots(),
calendar.getTimeBudget());
return calendarDto;
}
und so sieht mein Test bislang aus:
Java:
@Test
public final void getCalendar_whenInvalidParametersSupplied_throwsInvalidDataException(){
assertThatThrownBy(()-> testAppointmentService.getCalendar(-1))
.isInstanceOf(InvalidDataException.class);
}
@Test
public final void getCalendar_whenNotFoundParametersSupplied_throwsNotFoundException(){
final int systemId = 1;
final System system = Mockito.mock(System.class);
when(mockSystemDao.findOne(systemId)).thenReturn(system);
assertThatThrownBy(()-> testAppointmentService.getCalendar(0))
.isInstanceOf(NotFoundException.class);
Der erste @test dürfte so richtig sein, die CSMAssert Klasse wirft immer Invalid Data Exception, aber ich weiß dass der 2. Teil falsch ist und ich weiß nicht wie ich das besser hinbekomme.
MockSystemDao ist ein Mock den ich von iSystemDao am anfang des Tests geschrieben habe.
Vllt könnt ihr mir ja ein paar Tipps geben wie ich zb. einen richtigen Test für die erste NotFoundException schreiben kann.
Liebe Grüße
Katchy