Search
Write a publication
Pull to refresh

Comments 5

Спасибо за статью, было интересно.
Подскажите, как в случае с inject подменять зависимость в рантайме для тестов? или просто вызывать от-декорированную функцию с иной зависимостью?

В тесте достаточно явно передать зависимость. Например, если мы тестируем функцию execute_query из примера, можно передать ей аргумент db_connect_string напрямую:

execute_query(
  'select * from ...', 
  db_connect_string='postgresql://user:pass@localhost'
)

Точно, спасибо! Пробовал передать зависимость вручную, но передавал не именованным аргументом - поэтому не получилось.

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

В данное реализации - да, но это не сложно доработать. Для демонстрации постарался написать как можно компактнее, чтобы передавался основной смысл.

Спасибо за статью! На редкость хороший и не перегруженный материал!

Sign up to leave a comment.