У меня есть Spring MVC @Controller
с этим конструктором:
@Autowired
public AbcController(XyzService xyzService, @Value("${my.property}") String myProperty) {/*...*/}
Я хочу написать автономный unit test для этого контроллера:
@RunWith(MockitoJUnitRunner.class)
public class AbcControllerTest {
@Mock
private XyzService mockXyzService;
private String myProperty = "my property value";
@InjectMocks
private AbcController controllerUnderTest;
/* tests */
}
Есть ли способ получить @InjectMocks
для ввода моего свойства String? Я знаю, что не могу издеваться над String, поскольку он неизменен, но могу ли я просто ввести нормальную строку здесь?
@InjectMocks
вводит значение null по умолчанию в этом случае. @Mock
понятно генерирует исключение, если я положил его на myProperty
. Есть ли еще одна аннотация, которую я пропустил, просто означает "ввести этот точный объект, а не макет"?