Size: a a a

2018 February 28

RI

Ruslan Ibragimov in Kotlin JVM
источник

RI

Ruslan Ibragimov in Kotlin JVM
я использую DI чтобы заинжектить config из которого возьму ключ (secret)
источник

RI

Ruslan Ibragimov in Kotlin JVM
источник

RI

Ruslan Ibragimov in Kotlin JVM
А в тесте я могу передать какой-то конфиг и протестировать работу сервиса
источник

RI

Ruslan Ibragimov in Kotlin JVM
по факту secret прилетает из System.getenv("NAME_OF_ENV_VAR")
источник

А

Артёмка in Kotlin JVM
хм, прикольно)
источник

RI

Ruslan Ibragimov in Kotlin JVM
и я бы мог прямо в сервисе сделать вызов этого getenv
источник

RI

Ruslan Ibragimov in Kotlin JVM
источник

RI

Ruslan Ibragimov in Kotlin JVM
но тогда бы не смог так протестировать код
источник

RI

Ruslan Ibragimov in Kotlin JVM
Вот на пальцах зачем DI, как можно тестировать и почему тесты улучшают качество кода
источник

DT

Dmitry Tsydzik in Kotlin JVM
иногда вместо написания тестов достаточно предположить, а как код можно протестировать. если код сложно тестировать, скорее всего, это такой себе код
источник

I

Igor in Kotlin JVM
Ruslan Ibragimov
и я бы мог прямо в сервисе сделать вызов этого getenv
А мог бы параметром передать “key” прям в функцию
и не потребовалось бы ни интерфейсов ни моков.
источник

RI

Ruslan Ibragimov in Kotlin JVM
Igor
А мог бы параметром передать “key” прям в функцию
и не потребовалось бы ни интерфейсов ни моков.
Ну тогда его вызывающий код должен был бы получить из конфига, и его в свою очередь стало бы сложнее тестировать 🤔 ну или колличество параметров выросло
источник

BV

Boris Vanin in Kotlin JVM
Я в часто пишу утилиты и делаю Ди для них просто руками просто передавая всё в конструктор, удобно очень
источник

QH

Quantum Harmonizer in Kotlin JVM
Boris Vanin
Я в часто пишу утилиты и делаю Ди для них просто руками просто передавая всё в конструктор, удобно очень
есть примеры?
источник
2018 March 01

BV

Boris Vanin in Kotlin JVM
Quantum Harmonizer
есть примеры?
Это всё в закрытых репах, но там нечего показывать. Просто в создаёшь или в методе или в классе все зависимости подряд и передашь в конструкторы то что создал до этого
источник

DS

Dmitriy Shishmakov in Kotlin JVM
Тесты ещё можно рассматривать как открытую документацию. Хорошее сопровождение улучшает понимание проекта.
источник

DS

Dmitriy Shishmakov in Kotlin JVM
Бывает что-то забудешь, посмотришь в тесты и всё сразу понятно
источник

SS

Stanislav Slavin in Kotlin JVM
Тесты - это спецификация вашей бизнес логики. Потому что даже если потеряется код с бизнес-логикой, но останутся тесты, которые ее покрывают, то по ним можно будет все восстановить.
источник

RI

Ruslan Ibragimov in Kotlin JVM
источник