Size: a a a

Software Design/Architecture/Zen

2021 May 24

SP

Sergey Protko in Software Design/Architecture/Zen
у меня BI команда в базе капошится :) так что у меня такие тесты есть потому что "это интерфейс такой")
источник

A

Adel in Software Design/Architecture/Zen
так ведь SQL для людей придумывали) всё верно
источник

SP

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

ЗД

Златослав Десятников... in Software Design/Architecture/Zen
А вот ситуация, если тестируется 2FA через почту, как бы вы поступили?

Автотестеры гоняют в БД и оттуда берут 6-значный код и вводят его в форму. Тем временем, реальной отправки письма нет (driver = log).
источник

SP

Sergey Protko in Software Design/Architecture/Zen
это как "добавлять геттеры только потому что в тесте надо как-то проверить".
источник

SP

Sergey Protko in Software Design/Architecture/Zen
а если код захеширован? Шо тогда делать будете?
источник

A

Adel in Software Design/Architecture/Zen
ты по-другому спроси. Если код не был захеширован, а через пару лет решили захешировать)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
не, это на тестирование влиять не будет) У секьюрников вопросы будут по самому факту что временные пароли не хэшированы. Ну мол вдруг будут бухтеть
источник

A

Adel in Software Design/Architecture/Zen
если тесты лазят за кодом в базу - они упадут
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Функциональным это простительно, так как база рядом лежит.

Заморачиваться с отдельными интерфейсами актуально для приёмочных/E2E тестов, которые концептуально находятся снаружи приложения.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
я к тому что вот driver=log - можно подсунуть свой драйвер и брать код из письма
источник

SP

Sergey Protko in Software Design/Architecture/Zen
или еще как, или подменять генератор кодов в тестах
источник

A

Adel in Software Design/Architecture/Zen
👍
источник

SP

Sergey Protko in Software Design/Architecture/Zen
много чего можно делать
источник

SP

Sergey Protko in Software Design/Architecture/Zen
главный вопрос  - "а какие риски ты хочешь закрыть?"
источник

V

Viktor in Software Design/Architecture/Zen
А кто вот отвечает за JSON сериализацию энтитей?
Или правильнее на чтение давать дтошники, которые имплементят JsonSerializable какой-нибудь, а на запись и бл уже юзать энтити?
источник

A

Adel in Software Design/Architecture/Zen
мне сложно улавливать разницу. я имел ввиду E2E как раз
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Правильнее отдельные DTO-шки
источник

V

Viktor in Software Design/Architecture/Zen
Хорошо. А в случае, когда после бизнес логики мне надо этот же объект отправить в другую апишку JSON'ом условным.
Допустим применить промокод к заказу. Мы через агрегат подпихиваем промокод, а потом нам надо в какой-нить PriceDiscountGateway отдать эту энтитю и получить обратно результат. Что в таком случае?
источник

ЗД

Златослав Десятников... in Software Design/Architecture/Zen
Ну, получается так, что при E2E тестировании часто приходится идти на крайние меры: в случае 2ФА через почту — ловить реальные письма, доставать оттуда код и т.д.

По сути, E2E тесты должны запускаться на сборке приложения, аналогичной продакшну. Поправьте, если я не прав, опыта с E2E нет.
источник