Привязка к 2 классам к одному интерфейсу - PullRequest
0 голосов
/ 11 июля 2020

У меня есть интерфейс interfaceA, классы classA и classB. classA реализует interfaceA, classB реализует interfaceA. В classA есть бизнес-логи c, а classB - это mocker, используемый для целей тестирования. Я хочу привязать

 bind(interfaceA.class).to(classA.class).in(Singleton.class);
 bind(interfaceA.class).to(classB.class).in(Singleton.class);

По сути, я всегда хочу, чтобы logi c в classA всегда использовался всякий раз, когда вызывается какой-либо метод интерфейса, а classB должен использоваться для тестирования реализации classA.

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

1 Ответ

3 голосов
/ 11 июля 2020

Не связывайте оба сразу.

В вашей тестовой конфигурации свяжите тестовую версию, а в производственной - свяжите реальную реализацию.

...