Size: a a a

Software Design/Architecture/Zen

2021 May 11

R

Roman in Software Design/Architecture/Zen
Не дошёл я ещё до уровня "пишу код без ошибок"
источник

SP

Sergey Protko in Software Design/Architecture/Zen
это красиво когда нет зависимостей) а когда они есть и нет  if-в ты проверяешь что твои заглушки вызываются в нужном порядке. Что как бы хуже чем "нет тестов" ибо создает иллюзию безопасности
источник

SP

Sergey Protko in Software Design/Architecture/Zen
это как бы статический анализ закрывает
источник

SP

Sergey Protko in Software Design/Architecture/Zen
хотя если ты рубист.... там да надо
источник

R

Roman in Software Design/Architecture/Zen
repo := NewFakeRepo()
repo.add(1)
repo.add(2)
repo.add(3)
f(repo) == 6


Тогда так. Да, в FakeRepo будет реализация хранилища. Но реализация f всё же проверяется)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
но что именно проверяется?)))
источник

SP

Sergey Protko in Software Design/Architecture/Zen
it("places the lotion in the basket") ?
источник

R

Roman in Software Design/Architecture/Zen
Что f работает правильно, если принять за правду то, что код с имитацией репо написан без ошибок)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
как тест кейс у тебя называться будет? "оно работает"?
источник

k

knopkod4v in Software Design/Architecture/Zen
мне кажется end-to-end ещё необходимо вынужденно использовать в легаси. Ну то есть заменять те же связи на айдишки, чтобы изолировать тесты апи без какой-то страховки страшно
А легаси - это примерно весь рынок, поэтому печаль
источник

R

Roman in Software Design/Architecture/Zen
"оно живо" конечно же)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
первый кандидат на удаление
источник

SP

Sergey Protko in Software Design/Architecture/Zen
потому что на самом деле на этот вопрос оно не отвечает. Ну или отвечает с той же точносью которую дают статические анализаторы
источник

SP

Sergey Protko in Software Design/Architecture/Zen
при этом для стат анализа действий надо сильно меньше
источник

SP

Sergey Protko in Software Design/Architecture/Zen
или простой пример из жизни - написал разработчик такой вот тест на repo.add.shouldBeCalled() тесты зеленый и он радостно выкатывает это в прод - пуф и забыл закоммитить транзакцию
источник

AZ

Artem Zakirullin in Software Design/Architecture/Zen
Это какой-то нонсенс
источник

R

Roman in Software Design/Architecture/Zen
Ну эт уже white-box тестирование. Я стараюсь писать black-box. Какая разница, что оно делает внутри, если важен результат и сайд-эффекты (если есть)?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
он там дальше пояснил что имел ввиду afferent/efferent coupling метрики и с этой точки зрения когда все по нулям это unused code. Но да, это не относится к тебе разговора с большего
источник

R

Roman in Software Design/Architecture/Zen
А если white-box, то это будет дублирование реализации
источник

SP

Sergey Protko in Software Design/Architecture/Zen
хм...
источник