Как я могу издеваться над атрибутом @autowired @Qualifier в Сервисе? - PullRequest
1 голос
/ 09 апреля 2019

У меня есть сервис с таким атрибутом:

@Autowired
@Qualifier("test")
private String test;

Этот атрибут взят из контекста XML-файла.

Я становлюсь ничем в модульном тесте, возможно, это правильное поведение в модульном тесте. Но могу ли я посмеяться над этим атрибутом, чтобы он стал значением?

например:

when(test).thenReturn("a string"); 

Спасибо Привет

1 Ответ

1 голос
/ 09 апреля 2019

Исходя из вашего комментария, сделать поле общедоступным можно.Вы можете просто установить его потом:

myMock = Mock(MyClass)
myMock.test = "foobar"

Кроме того, вы можете добавить установщик, оставив поле приватным.Или вы можете попробовать @InjectMocks или Spring's ReflectionTestUtils, оба из принятого ответа здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...