У меня есть 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. Есть ли еще одна аннотация, которую я пропустил, просто означает "ввести этот точный объект, а не макет"?