Size: a a a

2021 October 05

ЮW

Юрий Walk in symfony
для кого-то написать тесты это оверинженеринг - мы уходим в придирки к терминам
источник

SP

Sergey Protko in symfony
условно на соотношение "количество строк кода относящиеся к установке прекондишенов и количество строк на сам тест"
источник

SP

Sergey Protko in symfony
ты просил фидбэк а теперь обижаешься)
источник

ЮW

Юрий Walk in symfony
Все верно, попросил. Но это не значит, что если я услышу "типизация фу, удали" - то я должен соглашаться)
источник

МФ

Максим Федоров... in symfony
а ты ссылаешься на размытую декларацию темринов, не вчитываясь в смысл (в книгах) и сути зачем и почему так  или иначе стоит делать
источник

SP

Sergey Protko in symfony
тип если соотношение больше походит на 50/50 или больше прекондишен нежели тест - есть потенциально проблемы со связанностью. Опять же это не значит что "проблема точно есть" но туда интересно глянуть и разобраться почему так
источник

SP

Sergey Protko in symfony
"типизайия" или $this->$methodName()?
источник

SP

Sergey Protko in symfony
https://github.com/WalkWeb/Battle-Module/blob/master/tests/Battle/Result/Statistics/StatisticsTest.php#L96 - имена тест кейсов непонятные, не понятно что проверяют, судя по виду в рамках одного тест кейса проверяется больше одной вещи...
источник

ЮW

Юрий Walk in symfony
Что плохого в этом приеме? Когда сам объект сообщает о том, каким методом его обрабатывать. Наоборот получаем гибкость + отсутствие if,if,swith,swith
источник

SP

Sergey Protko in symfony
можно короч на тему integrational (integrated) tests are a scam" почитать, тут как раз они родимые
источник

SP

Sergey Protko in symfony
ну я ж говорю - я код смэлы перечисляю которые вижу. Есть там проблема или это неплохое решение - для этого надо детально смотреть. Но в 90% ситуаций это будет выстрел в ногу. МОжет быть это некий конвеншен который ты на уровне проекта определяешь и тогда ты от рисков защитился но "обычно нет"
источник

ПГ

Павел Г. in symfony
Чет не понятно. Особенно если брать какую нить функциональщину. Сам тест обычно 1 строка всегда ) А подготовка самая длинная часть.
источник

ПГ

Павел Г. in symfony
50/50 смутило
источник

SP

Sergey Protko in symfony
я про юниты. в e2e/приемочных у тебя есть такая вещь как "test data management" которая намекает что все сложно. Да и приемочных и e2e потому много не стоит делать и только на позитивные флоу.
источник

SP

Sergey Protko in symfony
а вот в юнихах когда у тебя прекондишен выставляется для тестов (зависимости и их стэйт) на пол теста и больше - это сигнальчик что слишком много зависимостей. Иногда это ок, иногда нет, сигнальчик. надо присматриваться к такому
источник

ПГ

Павел Г. in symfony
Да ну все равно, собрать пару объектов явно будет больше чем запуск теста :) Можно какие нить mother object использовать, но суть не меняется, просто код выносится
источник

SP

Sergey Protko in symfony
когда соотношение 10 к 1 в юнитах на arrange то явно есть проблемы
источник

SP

Sergey Protko in symfony
я о части где сборка зависимостей - значит высокая связанность и много зависимостей.
источник

SP

Sergey Protko in symfony
вот вся эта концепция whole value - считай чистые функции где вся логика и нет внешних зависимостей
источник

ПГ

Павел Г. in symfony
А понял, спасибо.
источник