Я новичок в библиотеке Mockito и где-то застрял.Spring JpaRepository save() не издевается над использованием Mockito
Проблема в том, что я издеваюсь над сохранением метода Spring jpaRepository. Я всегда получаю null. Я использую такой код в своем проекте, но для тестирования я сделал фиктивный код для тестирования. Это мой код:
// This is the class for which I am making test case
@Service("deviceManagementService")
@Scope(BRASSConstants.SCOPE_SESSION)
@Transactional
public class DeviceManagementServiceImpl implements DeviceManagementService {
public String show(){
Device device = new Device() ;
device.setContactName("abc");
Device deviceEntity = deviceDao.save(device);
System.out.println(deviceEntity); // i get this null always Why ???
return "demo";
}
}
И тест я пишу это:
@RunWith(MockitoJUnitRunner.class)
public class DemoTest {
@InjectMocks
private DeviceManagementServiceImpl deviceManagementServiceImpl;
@Mock
private DeviceDao deviceDao;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test
public void show(){
Device device = new Device() ;
Device deviceEntity = new Device() ;
deviceEntity.setDeviceId(12L);
Mockito.when(deviceDao.save(device)).thenReturn(deviceEntity);
Mockito.when(deviceManagementServiceImpl.show()).thenReturn(null) ;
}
}
Если я использую что-то вроде этого
Mockito.when(deviceDao.findByDeviceSerialNo("234er")).thenReturn(deviceEntity);
Тогда он работает и дает мне не нулевой объект устройства.
В чем причина этого?
_Then он работает и не дает мне нулевой объект Device._ В чем проблема? не нулевой объект? – Nirmal