Hallo, ich schau mir grad das Mocken an. Es klappt leider nicht richtig.
[CODE lang="java" title="class PatientServiceImplTest" highlight="59, 43"]package com.example.demo.service;
import static org.mockito.Mockito.when;
import java.sql.Date;
import org.junit.Assert;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.example.demo.entity.Patient;
import com.example.demo.repository.IPatientRepository;
class PatientServiceImplTest {
Logger logger = LoggerFactory.getLogger(PatientServiceImplTest.class);
@InjectMocks
PatientServiceImpl patientService;
@Mock
IPatientRepository patientRepository;
@BeforeEach
void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
// @Test
// void testCreatePatient() {
// Patient patient = new Patient();
// long id = 1;
// patient.setId(id);
// patient.setNachname("Test");
// patient.setVorname("Tester");
// when(patientRepository.existsById(id)).thenReturn(true);
// logger.info(patient.getNachname());
// }
@Test
void testGetPatientByID() {
Patient patient = new Patient();
long millis = 1556175797428L;
Date date = new Date(millis);
Assert.assertEquals(millis, date.getTime());
long id = 2;
patient.setId(id);
patient.setGeburtsdatum(date);
patient.setNachname("Test");
patient.setVorname("Tester");
logger.info(patient.toString());
when(patientRepository.findById(id).get()).thenReturn(patient);
}
}[/CODE]
Mit der Zeile 43 im auskommentierten Block (testCreatePatient()) funktioniert es. In dem Block mit der Zeile 59 leider nicht. Die Patient Entität wird korrekt angelegt, aber scheinbar nicht zur zurückgegeben. Hat jemand eine Idee?
[CODE lang="java" title="class PatientServiceImplTest" highlight="59, 43"]package com.example.demo.service;
import static org.mockito.Mockito.when;
import java.sql.Date;
import org.junit.Assert;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.example.demo.entity.Patient;
import com.example.demo.repository.IPatientRepository;
class PatientServiceImplTest {
Logger logger = LoggerFactory.getLogger(PatientServiceImplTest.class);
@InjectMocks
PatientServiceImpl patientService;
@Mock
IPatientRepository patientRepository;
@BeforeEach
void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
// @Test
// void testCreatePatient() {
// Patient patient = new Patient();
// long id = 1;
// patient.setId(id);
// patient.setNachname("Test");
// patient.setVorname("Tester");
// when(patientRepository.existsById(id)).thenReturn(true);
// logger.info(patient.getNachname());
// }
@Test
void testGetPatientByID() {
Patient patient = new Patient();
long millis = 1556175797428L;
Date date = new Date(millis);
Assert.assertEquals(millis, date.getTime());
long id = 2;
patient.setId(id);
patient.setGeburtsdatum(date);
patient.setNachname("Test");
patient.setVorname("Tester");
logger.info(patient.toString());
when(patientRepository.findById(id).get()).thenReturn(patient);
}
}[/CODE]
Mit der Zeile 43 im auskommentierten Block (testCreatePatient()) funktioniert es. In dem Block mit der Zeile 59 leider nicht. Die Patient Entität wird korrekt angelegt, aber scheinbar nicht zur zurückgegeben. Hat jemand eine Idee?