Я пишу модульный тест для следующего класса, который управляется Spring:
@Component
public class MyClass {
@Value("${urlValue}")
private String urlPath;
private MyUrl url = new MyUrl(urlPath);
public class MyUrl {
MyUrl(String url) {
if (url == null) {
throw new NullPointerException();
}
}
}
}
Я пытаюсь установить urlValue
самым простым способом для моего теста. Я попробовал следующее:
public class MyClassTest {
private MyClass mc;
@Before
public void setUp() {
mc = new MyClass();
ReflectionTestUtils.setField(mc, "urlPath", "urlValue");
}
@Test
public void test() {
}
}
Однако настройка по отражению не удалась, потому что она приходит слишком поздно (new MyUrl()
вызывается раньше и выдает исключение). Какой самый простой способ установить urlPath
, в идеале (я полагаю), без изменения кода или использования контекста Spring для теста?