Я работаю с каким-то унаследованным кодом, и мне нужно проверить, что вызвано какое-то дорогое обслуживание (он делает сетевые звонки, отправляет электронные письма и т. Д.).Отказывание во время компиляции
Я могу ввести фальшивое обслуживание вместо оригинального с помощью используемой структуры (шов 2). См. Этот вопрос: Mock @org.jboss.seam.annotations.in behaviour for unittest
Теперь я хочу, чтобы мой поддельный объект был более умным макетом, чтобы утверждать, был ли он вызван или нет, и т. Д. Я бы хотел, чтобы это был Mockito или Easymock или какая-то другая штука. Но построение макета классическим способом в тесте, а затем его инъекция, не работает из-за того, что шов 2 и шовный тест связаны с инъекцией. См. Ссылку выше.
Вопрос: есть ли способ, чтобы мой макет простирался или аннотировался, чтобы стать Мокито или что-то ложным? Как я могу получить ссылку на него в моих тестах?
Согласен, но я уже пробовал этот подход, и инъекция не работала. Связанный вопрос/ответ основан на ссылке на шов. Я попробую еще раз ваше предложение, может быть, мне не хватает небольшого материала :) – dcernahoschi
Как это могло бы не работать: 'ApplicationBean mockApplicationBean = mock (ApplicationBean.class); SomeBean someBean = new SomeBean(); someBean.setApplicationBean (mockApplicationBean); 'Это обычная старая Java. Если это не сработает, у установщика есть ошибка. С этим подходом шов вообще не используется. –
Кажется, что это работает, никаких исключений, но он использует обычный класс, а не макет. – dcernahoschi