У меня есть неявный модуль scaldi в моем объекте корневого пакета, так что любой компонент может использовать инжектор неявно.Как реализовать модуль Scaldi в отношении тестирования и mocks (не знакомый с этим модулем)?
Этот модуль выглядит следующим образом:
val additionalModule = new AtomicReference[Module](new Module {})
lazy val applicationModule = additionalModule.get ++ new Module {
bind[Trait1] to new Impl1
bind[Trait2] to new Impl2
}
документация Scaldi говорит, что это не рекомендуется, чтобы связать на уже инициированную модуль, так что я добавил additionalModule для целей повторного тестирования/модулей и агрегировать его с заранее определенной одной , Правильно ли я понял?
Почему вы поместили модуль в атомную ссылку? Вы хотите динамически добавлять привязки («привязать к уже инициализированному модулю»)? При составлении состава модуля правые модули имеют приоритет (http://scaldi.org/learn/#testing-of-play-application), поэтому, если вы используете 'дополнительныйModule' для тестирования, он должен быть добавлен к другому модулю для перезаписи привязок. – Mironor