Шов 2.2 условный впрыск

Я использую Seam 2.2 и TestNG. Я хочу протестировать некоторые методы, которые удаляют некоторые ресурсы из WebDav с помощью Sardine. Дело в том, что Sardine выдает ошибку, если ресурсы не могут быть найдены там, где ожидалось, поэтому я сделал MockSardineTestClass, который имитирует фактическое удаление.

Дело в том, что в мой класс внедряется шовный компонент WebDavClient, который фактически удаляет ресурс. Мой MockSardineTestClass расширяет класс WebDavClient, и я хочу внедрить MockSardineTestClass при запуске тестов. Как я могу этого добиться? Есть ли способ сделать условную инъекцию в шов? Есть ли у вас еще одна идея?

Кроме того, в качестве общего вопроса: если у меня есть абстрактный класс / интерфейс с двумя реализациями, и со швом я ввожу этот интерфейс, как шов оценивает, какую реализацию следует внедрить?


person spauny    schedule 06.11.2012    source источник


Ответы (1)


Аннотируйте свой компонент с помощью @Install(MOCK). Проверить 5.5. Условная установка для получения дополнительной информации.

Ответ на ваш вопрос - это название компонента. Шов разрешает компоненты не по имени класса, а по имени компонента.

person juanignaciosl    schedule 10.11.2012