Я новичок в Junit и Mockito, и у меня есть этот класс для теста
package com.service;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import com.util.RemoteProperties;
@ExtendWith( MockitoExtension.class )
public class ServiceImplTest{
@InjectMocks
ServiceImpl service;
static RemoteProperties propertiesExterno;
@BeforeAll
static void loadMockProperties(){
propertiesExterno = null; //should I load here maybe the object with the data from the properties file?
}
@DisplayName( "test mock properties object" )
@Test
public void testMockObjectForProperties() throws DBException{
Assertions.assertEquals( "-2", propertiesExterno.idt2Code );
}
}
И есть этот класс, который в контексте Spring, когда приложение запущено, имеет все переменные из свойств
package com.util;
import java.io.Serializable;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class RemoteProperties implements Serializable {
private static final long serialVersionUID = 1L;
@Value("${idt2.code}")
public String idt2Code;
@Value("${idt2.msj}")
public String idt2Msj;
//Note this class don't have getters and setters (maybe I should refactor in all legacy code?), that I think is a problem for Mock :(
}
Я не знаю, как установить все значения из файла application.properties для тестирования
application.properties
idt2.code=-2
idt2.msj=Error in remote service
этот код использует spring 3.1.0.RELEASE, и я провожу его тесты с помощью junit 5.6.2
Пожалуйста, помогите Как я могу проверить файлы свойств, может быть, есть что-то, что поможет мне загрузить данные из properties в макет, который я использую в своем тесте
Спасибо!