Фил Ранжин
могу статью ебнуть
🇺🇦 Дмитрий
я тоже к этому пришел, у меня щас сервисы это обертки над укстеншенами
🇺🇦 Дмитрий
сервисы тупо данные доставляют из инфраструктуры
🇺🇦 Дмитрий
и все охуенно, юниты без моков
Крылатый
Фил Ранжин
тут у @atsapura по этому подходу поинт есть
🇺🇦 Дмитрий
Фил Ранжин
🇺🇦 Дмитрий
Я кину в чатик своим работягам
🇺🇦 Дмитрий
не, я либо интеграциионный тест пишу, либо вообще хер забиваю
🇺🇦 Дмитрий
потому как репозиторий внутри этого сервиса уже 100000000 раз протестили
Mikhαil
>юнит тесты без моков
>пишу интеграционный или не пишу тест вообще
Mikhαil
ну если не писать тесты то они точно без моков)
🇺🇦 Дмитрий
ты только второе предложение прочитал?
🇺🇦 Дмитрий
deposit(amount){
var user = repost.Get.....()
user.deposit(amount)
repos.Save(user)
}
а ну ка мокни тут репозиторий
🇺🇦 Дмитрий
и покажи чем твой мок будет отличаться в другом похожем тесте
🇺🇦 Дмитрий
если что, то это пример метода из сервиса
🇺🇦 Дмитрий
могу сделать скрин своего сервиса по ресурсам с работы
Anonymous
Kirill
можно писать супер хитровыебанный код, но в чем смысл если команда не разделяет такие подходы? Сначала надо на митингах обсуждать подходы а потом уже писать свой weird код
Anonymous
Func<long, User> userGetter
🇺🇦 Дмитрий
🇺🇦 Дмитрий
но щас сеньер сидит, рефакторит
🇺🇦 Дмитрий
только в том сервисе там 2 репозитория и кеш
Anonymous
оставь сеньора в покое, пусть делает что хочет
🇺🇦 Дмитрий
а он мокнуть чистую функцию пытается
Roman
Anonymous
просто попросись на кодревью и все
🇺🇦 Дмитрий
да, у нас 12к тестов тестят моки :D
Vasily
Обычная галера, чо уж там
🇺🇦 Дмитрий
есть даже случаи когда моки юзаются в БЛ
Roman
Anonymous
Зачем?
такие вопросы на галерах задавать нельзя
🇺🇦 Дмитрий
то-есть я тыкаю F12 и вижу в реализации dateTimeProvider.Setup(s=> s.Now)...
Anonymous
🇺🇦 Дмитрий
то-есть норм по твоему? что у тебя в запросе от клиента сетапиться мок?
🇺🇦 Дмитрий
и этот мок юзается в бл
Ayrat
Ayrat
это настройка поведения вашего dateTimeProvider
Ayrat
ну типа бывает что люди мокают вызов DateTime.Now чтобы можно было управлять временем в тестах
Ayrat
ну как мокают. Оборачивают
Ayrat
я тоже так делал когда-то
Ayrat
сейчас не делаю
🇺🇦 Дмитрий
там в конструкторе _dateTimeProvider = new Mock<IDateTimeProvider>()
Ayrat
🇺🇦 Дмитрий
так и мы могли бы дату кинуть
🇺🇦 Дмитрий
но почему то дату кинули в Setup
🇺🇦 Дмитрий
я понимаю, я просто описываю ситуацию в проекте
🇺🇦 Дмитрий
так сказать жалуююсь
Roman
Доведи ситуацию до абсурда просто
Roman
Пиши миллион тестов на миллион моков
🇺🇦 Дмитрий
с TestCase генераторами
🇺🇦 Дмитрий
чтоб по пол дня тестилось)
Roman
И заворачивай чужие пр, пушто тестов мало
🇺🇦 Дмитрий
ахаха )
Roman
И когда они тебе скажут, что должна быть мера, тут то у вас и состоится конструктивный диалог о том, что надо тестировать и что нет
Anonymous
а я не понимаю - ну захотел сеньор порефакторить код, чтобы <написать больше тестов или что там>, ну и какая @BashkaMen разница?
Stas
🇺🇦 Дмитрий
на прошлой месте работы было ещё хуже, там ститик переменные в контроллерах и разные контроллеры друг друга меняют
так вот, пришли к нам на совбес девушка из беттинга, веду я собеседование, общаемся я понимаю какого уровня решали задачи они (в беттинге) и какого уровня задачи на том проекте.
Рассказал про паблиш из вижуал студии кнопкой паблиш в расшаренную папку, а потому спросил у начальника "рассказать про состояние проекта?", он говорит "не нужно".
Потому он вышел она спрашивает, а что там? А я говорю, та ниче, просто вишенька на торте )))
Ayrat
Читаю контракт рабочий. Глава Termination of Employment
Ayrat
Вот это дискриминация)))
🇺🇦 Дмитрий
Anonymous
Stas
Stas
ты на месте поменял или релокейтишь ?
Ayrat
На месте, тут в Дублине есть все)
Ayrat
удобно
Анна
Ayrat
Ayrat
Анна
У меня вроде такого нет 🤔