Народ, а подскажите по dry-system/контейнерам.
Я использую stub/unstub некоторого компонента в тестах + memoization (auto_register!('comp') { c.memoize = true }
В тестах стаблю это компонент с моком, который потом в результате инициализации утекает еще куда-то (в другие компоненты, которые зависят от этого и даль по цепочке)
container.stub('foo', double)
CompA
Import[:foo]
CompB
Import[:comp_a] <--- вот тут уже замороженный компонент А, в котором прячется замоканный `foo`.