Как определить динамические и своевременные привязки с помощью Guice?
-
20-09-2019 - |
Вопрос
Я пытаюсь использовать Guice для тестовой среды на основе TestNG.Эта платформа анализирует тестовый класс на наличие зависимостей и предоставляет их, устраняя необходимость их построения в тестах.
Guice — это внедрение, и я думаю, что он хорошо подходит для этой среды.Но вопрос в том, как мне определить привязки после создания инжектора?Это необходимо, поскольку тесты могут переопределять привязки, заменяя реализации по умолчанию макетами.
Кроме того, я хочу угадать реализацию во время выполнения в некоторых случаях на основе соглашений об именах классов.Похоже на функцию привязки Just-in-type.Но как мне предоставить собственного поставщика привязок «точно в срок»?
Решение
Такое динамическое поведение не поддерживается «из коробки», но вы можете многого добиться, переписав модуль.Взгляни на Гайсберри, который уже реализует макетную замену тестов JUnit.(И подумайте о том, чтобы отправить им патч TestNG, им это понравится!)