Эстафета на тайфуне в тестах с подходом "Белая коробка"
У меня есть следующее решение для тестов белого ящика:
- Тайфун - DI рамки
- KIF - инструмент для взаимодействия с пользовательским интерфейсом
Чтобы проверить каждый важный крайний случай, мне иногда нужно "заглушить" ответ от бэкэнда. Я сделал это путем исправления компонента (вот полное описание того, как это делается: как вставить поддельные, заглушенные или фиктивные зависимости для интеграционных тестов с использованием тайфуна)
так
В методе beforeAll в KIFTestCase HTTPClient был исправлен в FakeHTTPClient, и это дало мне возможность менять ответы на определенные запросы.
архитектура проекта
Рабочий код для приложения был реорганизован в большинстве критических мест, но в некоторых местах мне приходилось использовать defaultAssembly для получения зависимостей от графа, поэтому почти каждая сборка в приложении теперь является deafultAssembly.
И конечно есть зависимости с областью применения TyphoonScoopeSingleton.
проблема:
После исправления httpClient эти компоненты с областью действия Singleton "обновляются" - init вызывался еще раз.
Если я хочу динамически заменить компоненты в графе, например, в методе beforeAll, можно сделать это с помощью Typhoon без "обновления" зависимостей с помощью области Singleton?