Size: a a a

Saint P Ruby Community

2020 February 14

AG

Alex G in Saint P Ruby Community
так и должно быть? или unstub должен как-то это разруливать?
источник

AG

Alex G in Saint P Ruby Community
или не надо мемоизировать в тестах? (а я как раз хотел их таким образом ускорить чуток)
источник

AD

Anton Davydov in Saint P Ruby Community
по идее у тебя весь контейнер будет с замоканным фоо
источник

AD

Anton Davydov in Saint P Ruby Community
Alex G
или не надо мемоизировать в тестах? (а я как раз хотел их таким образом ускорить чуток)
по хорошему, тебе не надо ничего мемоизировать, если ты через DI тестируешь
источник

AD

Anton Davydov in Saint P Ruby Community
если у тебя рельса и проблема в экшенах, то там придется поломать голову
источник

AG

Alex G in Saint P Ruby Community
это интеграционный тест для апи
источник

AD

Anton Davydov in Saint P Ruby Community
в рельсе/синатре?
источник

AG

Alex G in Saint P Ruby Community
в грейпе
источник

AD

Anton Davydov in Saint P Ruby Community
хм
источник

AD

Anton Davydov in Saint P Ruby Community
даже интересно стало, одна минута
источник

AD

Anton Davydov in Saint P Ruby Community
а можешь показать пример эндпоинта?
источник

AD

Anton Davydov in Saint P Ruby Community
просто дергаешь зависимость из контейнера на прямую?
источник

АШ

Алексей Шеин in Saint P Ruby Community
источник

AG

Alex G in Saint P Ruby Community
ну, типа того. если упростить, то как-то так (разве что чуть-чуть сахара, чтобы не писать все время App['foo.bar']:


delete ':id' do
 avatar = App['repo.avatars'].by_pk(params[:id])
 App['avatars.delete'].call(avatar)
 body false
end
источник

AD

Anton Davydov in Saint P Ruby Community
а, вы не заворачиваете все в один сервис, что бы только его дернуть?
источник

AG

Alex G in Saint P Ruby Community
в данном примере нет. Но вряд ли это изменило бы что-то
источник

AG

Alex G in Saint P Ruby Community
наверное, тут какая-то проблема в том, как работают стабы и мемоизация вместе.

стабы кладут значение в свое хранилище,
потом другой элемент контейнера инициализируется, подтягивает зависимость из стабов и мемоизируется.
потом делается unstub - удаляем из хранилища стабов элемент
но он остается уже внутри второго  компонента

тут надо, чтобы после тестов сбрасывался контейнер в начальное состояние и заново все инициализировал в новом тесте

пожалуй, не стоит вообще использовать мемоизацию + стабы в тестах. Либо то, либо другое
источник

VK

Vladimir Kalinkin in Saint P Ruby Community
Ребят, вот я читаю всё это и задаюсь риторическим вопросом а нужны ли вам вообще контейнеры? Мне кажется вы с ними больше страдаете 🙃
источник

VK

Vladimir Kalinkin in Saint P Ruby Community
по-хорошему контейнер не должен присутствовать в тестах
источник

w

wi11son in Saint P Ruby Community
спасибо
источник