Size: a a a

QA — Automation

2021 June 15

AV

Alexei Vinogradov in QA — Automation
Тест в пакте еще и запускает клиентский (консьюмеровский) код, там тоже могут быть ошибки. Иначе будет тестироваться только провайдер
источник

YO

Yaroslav Osmysliteln... in QA — Automation
ну вот по ссылке, классический пакт консумер тест (я их так всегда представляю). Не вижу где тут его код? или тут его нету, и просто я не встречал кейса для этого/с этим?
источник

AV

Alexei Vinogradov in QA — Automation
Тесты в соседних файлах
источник

AV

Alexei Vinogradov in QA — Automation
Тут тоже есть - вызов http://hostname/ - и есть тест
источник

AV

Alexei Vinogradov in QA — Automation
Строка 54
источник

YO

Yaroslav Osmysliteln... in QA — Automation
который есть моксервер, поведение которого в контракте и прописан (44-47). Т.е. сам описа -> сам вызвал -> сам порадовался
источник

YO

Yaroslav Osmysliteln... in QA — Automation
не совсем понял, щас попробую представить
источник

AV

Alexei Vinogradov in QA — Automation
Закомментируйте её или поменяйте вызов - тест упадёт, пакт файл не создатся
источник

AV

Alexei Vinogradov in QA — Automation
Да, типа того, но есть и более хитрые кейсы)
источник

AV

Alexei Vinogradov in QA — Automation
Консьюмер же обычно довольно простой - он вызывает провайдера и всё. Поэтому и тест выгядит примитивным
источник

YO

Yaroslav Osmysliteln... in QA — Automation
просто как будто "сам описа -> получил пакт". Быстрее, без доп. телодвижений. Но окей, спасибо за мнение, буду верить что есть какие-то хитрые кейсы, и когда их встречу буду знать что к ним меня такой стиль через @Test и готовил
источник

AV

Alexei Vinogradov in QA — Automation
Но если консьюмер чуть больше делает чем просто вызов, например мэппит или изменяет ответ - то и тест будет более сложный
источник

AV

Alexei Vinogradov in QA — Automation
Слишком сложный метод - это скорее плохая практика, лучше разделить на две части: вызов простой и трансформация. И их по отдельности тестировать. Но если например одно-два поля переименовать, то можно и в одном флаконе.
источник

AV

Alexei Vinogradov in QA — Automation
Так и есть - это же consumer-driven. А как иначе?
источник

AV

Alexei Vinogradov in QA — Automation
Сложность - лишняя.
источник

YO

Yaroslav Osmysliteln... in QA — Automation
тут я имею ввиду что "написал dsl контракт -> получил json контракт", а щас "написал dsl контракт -> вызвал мок -> получил json контракт на основе dsl". Вопрос был - зачем 2й шаг? Вы впринципе ответили для "сложных кейсов", я убедился что я их просто не видел и окей, принимаю как данность такой формат в 3 шага..
источник

YO

Yaroslav Osmysliteln... in QA — Automation
благодарю за инфу :)
источник

V

V in QA — Automation
Ребят вопрос на миллион. запускаю тесты на айосе в браузерстеке. при логинке пишет что введен неправильный пароль, делаю все тоже самое конектясь к браузерстеку через аппиум инспектор и делаю все руками - работает нормально, в чем может быть проблема?
источник

V

V in QA — Automation
на симуляторе отрабатывает без проблем, на андроиде и в браузерстеке и на эмуляторе тоже все норм
источник

AV

Alexei Vinogradov in QA — Automation
Чтобы избежать: написал контракт -> получил json, а сам написал клиента, который собственный контракт неправильно использует.
источник