У меня есть переменная LocalDate
, которая заполняется из свойств конфигурации. Мне нужно сделать тестирование по методу, который использует эту переменную. Но это выдает ошибку LocalDate cannot be mocked.
Я просматривал различные статьи в Stack Overflow и других веб-сайтах, но везде говорится о DateTimeProviders
, который нельзя использовать, потому что я поддерживаю существующий проект для клиента. Теперь проблема в том, что мне нужно знать, как я могу назначить макет переменной endDate
внутри класса из теста
Мой класс
public class MyClass implements MyClassService{
@Value("#{T(java.time.LocalDate).parse('${configuration.entityconfig.end_date}')}")
private LocalDate endDate;
@Autowired
public WpLateDepartureObligationServiceImpl(....){
//some things
}
public void createApplications(MyEntitity myEntity) {
if (myEntity.getExpiryDate.isBefore(endDate)){
return;
}
}
Здесь выглядит область UnitTest как
@InjectMocks
private MyClass myClassService;
@Test
public void createApplicationTest() {
MyEntitity myEntity=new MyEntitity ();
myEntity.setId(1L);
myEntity.setExpiryDate(LocalDate.parse("2020-04-05"));
myClassService.createApplications(myEntity);
}
Я действительно потерян, как отправить значение. Я пытался насмехаться над ним, но это не работает. Есть ли способ, которым я могу отправить endDate
из метода createApplicationTest
?