Насмешка над моими пользовательскими зависимостями с помощью Spring - PullRequest
3 голосов
/ 10 января 2011

Можно ли объявлять макеты с помощью какой-то инфраструктуры для моих собственных классов декларативно с помощью Spring?Я знаю, что в Spring есть некоторые стандартные макеты, но я бы тоже хотел декларативно макетировать свои собственные классы.

Просто чтобы убедиться, что я не ошибаюсь: идеяиметь пару тестов JUnit и конфигурацию Spring для каждого интеграционного теста, который я хочу сделать, высмеивая все, кроме конкретного аспекта интеграции, который я тестирую (скажем, у меня была зависимость от двух разных служб данных, тестируемых по одному за раз) исведение к минимуму количества повторяющихся кодов Java с указанием макетов.

Ответы [ 3 ]

1 голос
/ 10 января 2011

Я сделал это, используя специальный context.xml, который содержал настоящий XML и переписал определение специальных bean-компонентовЯ был бы рад узнать, что есть лучшее и более умное решение, но оно отлично сработало для меня.

0 голосов
/ 10 января 2011

Если есть только несколько бинов, которые вы хотите изменить, и вы хотите изменить их для всех тестов, вы можете взглянуть на аннотацию @Primary.

Вы должны аннотировать специальныекласс для тестов с @Primary - тогда он "переопределит" реальный класс.- Но используйте это, только если вы хотите сделать это для всех тестов.

0 голосов
/ 10 января 2011

Серьезно - вы действительно не хотите этим заниматься.

Я видел несколько проектов, которые пытаются это сделать, и я обещаю, что в итоге вы получите

Огромное количествовесенних файлов, каждый немного отличается, но вы не знаете, что и почему.Код спагетти, потому что «декларативное» определение не позволяет выяснить, что ваши объекты делают слишком много или делают это с неправильными соавторами.

В системном случае есть ряд моментов вкоторые вы можете отключить от внешних служб ...

Я бы порекомендовал вам прочитать ГСНО - он посвящает ответы на вопросы такого рода.oriented-software.com/

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