Я пытаюсь написать тестовый класс для следующего метода
public class CustomServiceImpl implements CustomService {
@Value("#{myProp['custom.url']}")
private String url;
@Autowire
private DataService dataService;
Я использую введенное значение url в одном из методов класса. Чтобы проверить это, я написал класс junit
@RunWith(MockitoJUnitRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContext-test.xml" })
public CustomServiceTest{
private CustomService customService;
@Mock
private DataService dataService;
@Before
public void setup() {
customService = new CustomServiceImpl();
Setter.set(customService, "dataService", dataService);
}
...
}
public class Setter {
public static void set(Object obj, String fieldName, Object value) throws Exception {
Field field = obj.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(obj, value);
}
}
. В applicationContext-test.xml я загружаю файл свойств, используя
<util:properties id="myProp" location="myProp.properties"/>
, но значение url не загружается в CustomService при запуске теста. Мне было интересно, есть ли способ сделать это.
Спасибо