Size: a a a

JPoint, Java-конференция

2018 April 26

PD

Phil Delgyado in JPoint, Java-конференция
А есть хоть какое-то обоснование этого утверждения?
источник

НБ

Надежда Белан in JPoint, Java-конференция
ну во-первых тесты идут если смотреть на рожок в сторону увеличению времени, и тратя время  на длительный прогон регрессионного тестирования упадет на элементаном npe, во-вторых end-to-end тесты по вероятности могут совпасть на одном наборе, ну и втретьих TDD во время модульных тестов, вы пересматриваете архитектуру, разбиваете на компоненты, улучшая дизайн
источник

НБ

Надежда Белан in JPoint, Java-конференция
ну и кроме того это практики, скорее всего есть и еще обоснования этого антипаттерна
источник

PD

Phil Delgyado in JPoint, Java-конференция
Угу. Только модульные тесты, по идее, предполагают оторванность от системы хранения (а если в unit-test участвует БД или MQ, то это уже интеграционный). И в большинстве систем попытка абстрагироваться от MQ или DB приводят к очень сильному ухудшению архитектуры.
источник

PD

Phil Delgyado in JPoint, Java-конференция
В общем, у меня скорее противоположный опыт. Любовь к тестированию на максимально низком уровне с кучей моков скорее ухудшает архитектуру и уменьшает качество тестирования с точки зрения бизнеса.
А вот опора на тестирование законченных сценариев стоит дешевле, а эффект дает более заметный.
источник

SB

Sergey Bezrukov in JPoint, Java-конференция
Phil Delgyado
В общем, у меня скорее противоположный опыт. Любовь к тестированию на максимально низком уровне с кучей моков скорее ухудшает архитектуру и уменьшает качество тестирования с точки зрения бизнеса.
А вот опора на тестирование законченных сценариев стоит дешевле, а эффект дает более заметный.
+1
источник

PD

Phil Delgyado in JPoint, Java-конференция
TDD же вообще нарушает OOP и приводит к написанию жуткого кода )
источник

PD

Phil Delgyado in JPoint, Java-конференция
Но да, если писать на JS, то без ТDD никак. А так 90% того, что делает TDD для динамических языков за меня выполняет IDE с инспекциями.
источник

НБ

Надежда Белан in JPoint, Java-конференция
Phil Delgyado
TDD же вообще нарушает OOP и приводит к написанию жуткого кода )
зависит от релизации принципа
источник

PD

Phil Delgyado in JPoint, Java-конференция
Я еще не видел решений с Unit-тестами, где не было бы лишних геттеров или сеттеров.
источник

НБ

Надежда Белан in JPoint, Java-конференция
Phil Delgyado
Угу. Только модульные тесты, по идее, предполагают оторванность от системы хранения (а если в unit-test участвует БД или MQ, то это уже интеграционный). И в большинстве систем попытка абстрагироваться от MQ или DB приводят к очень сильному ухудшению архитектуры.
зачем вам mq, вы тестируете метод в классе, можно поднимать embedded бд
источник

НБ

Надежда Белан in JPoint, Java-конференция
Phil Delgyado
Я еще не видел решений с Unit-тестами, где не было бы лишних геттеров или сеттеров.
так тут есть что от ООП - инкапсуляция
источник

PD

Phil Delgyado in JPoint, Java-конференция
Эээ. embedded БД ну умеет почти ничего из того, что я использую. Так как в ней просто нет нужной мне функциональности.
У меня основное поведение класса - работа с распределенными очередями (акторы и т.п.), что мне даст тестирование его в изоляции?
источник

AK

Alexander Komarov in JPoint, Java-конференция
Надежда Белан
зачем вам mq, вы тестируете метод в классе, можно поднимать embedded бд
лул, embedded бд. embedded oracle  с хранилками уже придумали ? mq еще ладно, можно поднять внутри vm
источник

ПФ

Паша Финкельштейн in JPoint, Java-конференция
Alexander Komarov
лул, embedded бд. embedded oracle  с хранилками уже придумали ? mq еще ладно, можно поднять внутри vm
тестконтейнер с ораклом никто не запретит использовать
источник

AK

Alexander Komarov in JPoint, Java-конференция
test containers еще можно за уши сюда притянуть, но это уже опять же скорее к инетграции
источник

PD

Phil Delgyado in JPoint, Java-конференция
У меня логика на транзакционных акторах через PG skip locked и  сложным управлением транзакциями. Какой embedded.
источник

PD

Phil Delgyado in JPoint, Java-конференция
Эээ, если я тестирую контейнер - это уже интеграционные тесты, а не unit. Их у меня как раз очень много )
источник

НБ

Надежда Белан in JPoint, Java-конференция
можно мокать бд, и смотреть что на вход пришла такая-то строка с такими-то данными ....
источник

PD

Phil Delgyado in JPoint, Java-конференция
Эээ, это серьезно, да? Или троллинг?
источник