how publish pact contract pact broker
Този урок обяснява две опции за настройване на Pact Broker. Можете да публикувате Договора за договор в Pact Broker, използвайки рамката pact-js и с Postman:
Въпроси и отговори за тестове за автоматизация на селен
Какво е Pact Broker?
Pact Broker е инструмент, предоставен от създателите на Pact framework. Той улеснява съхраняването на договори, визуализирането на потребителите и статуса на договора за проверка.
Причината за наличието на отделен брокер за съхраняване на договорите е, защото всеки набор от тестове често е написан на различни хранилища и дори на различни езици.
=> Разгледайте поредицата за обучение за тестване на прости договори тук
Какво ще научите:
Публикувайте договор за договор с брокер
Преди да преминем към начина на публикуване на договор, трябва да вземете решение дали искате сами да бъдете домакин на Pact Broker или да използвате хоствана услуга като Pactflow .
Лично ние избрахме Pactflow, тъй като това предлага допълнителни предимства, както е показано в таблицата по-долу:
Особеност | Pactflow | Самостоятелно домакин |
---|---|---|
SSO (Github) | Да | Недей |
Поддръжка на сървъра | Недей | Да |
Сигурни токени / тайни | Да | Недей |
Уеб куки | Потребителски интерфейс, конфигурируем | Ръчна конфигурация |
Инфраструктурата като код | Тераформа | Докер файл |
Настройване на Pact Broker с Pactflow
Pactflow предоставя безплатна опция, която ще ви таксува само след 180-месечния пробен период (към май 2020 г.), това са 10 години и половина.
- Регистрирайте своя имейл адрес с Pactflow (имайте предвид, че винаги можете да добавите допълнителни потребители по-късно).
- Настройте фирмената информация и поддомейн за вашия Pact Broker.
- Сега трябва да получите имейл с вашето временно потребителско име и парола.
- Отидете до вашия поддомейн, (тук е моят поддомейн ) и влезте. Ако това е било успешно, трябва да видите примерното приложение с вече настроен договор.
Ще разгледаме как да проверим срещу договори в рамките на Pactflow по-късно в урока.
Настройване на Pact Broker с Docker (docker-compose)
Pact предлага изображения на докер за лесно завъртане на вашия собствен Pact Broker за секунди с докер-композиране. The хранилище на github обяснява как това може да се направи, нека да разгледаме подробно това по-късно.
Някои допълнителни стъпки, които се добавят, за да се гарантира, че услугата е стабилна, са дадени по-долу:
- Добавете „рестартиране: винаги“ към docker-compose услуги.
- Стартирайте docker-compose на сървъра, като използвате аргумента `-d` detached, за да му позволите да работи във фонов режим.
Публикуване на договор с pact-js
Всяко изпълнение на езика на Pact има свои собствени методи за това как да се публикуват договорите на брокера. Публикувайки в Pact Broker в JavaScript, конфигурацията трябва да изглежда подобно на тази.
Показаният по-горе жетон за брокер на Pact се съхранява в Pactflow под настройките. Снимките на екрана са показани по-долу. Уверете се, че използвате маркера CI, който има разрешения за четене и запис.
Отидете на Настройки и след това API маркери в Pactflow.
Вероятно тайните и паролите не трябва да се съхраняват в git, следователно трябва да се използва файл .env и да се прави препратка в него с нещо, както е показано по-долу.
Заедно с “ПубликацияВерификацияРезултат” стойност, не искате да проверявате договорите във вашата местна среда. Следователно трябва да се зададе друга променлива на средата, както е показано по-долу.
Сега договорът може да бъде публикуван директно в кода.
Издателски договор с пощальон
Обикновено, за да проверим първия договор, използваме Пощальон, за да се уверим, че брокерът е настроен правилно. Пощальон се използва и когато потребителите бавно приемат Pact в екипа си, затова публикувахме договора пред Pact Broker и помолихме потребителския екип да провери дали са доволни от договора.
Това ни даде възможност като екип на доставчика да проверим спрямо договора и да имаме повече доверие в нашите внедрявания. Също така, когато потребителският екип беше готов да приеме Пакт, те вече имаха работещ пример, който да използват.
Стъпките за публикуване на Пощальон са дадени по-долу:
# 1) PUT: Конструирайте заявката
- Придвижете се до поддомейн
- Име на доставчика
- Име на потребителя
- Версия
# 2) Упълномощаване: Добавете маркера на носителя (което е еквивалентно на API маркера, както е споменато по-горе)
# 3) Включете JSON на Pact като тяло (JSON може да бъде копиран директно в полето на тялото, като по този начин не забравяйте да зададете заглавката Content: Type на „application / json“).
Споделяне на пактове с доставчици на API
След като вашите договори бъдат публикувани, доставчикът може да извлече договора на Pact, като поиска URL адреса на Pact Broker със:
Обикновено ще искате да потвърдите с конкретна версия на API. Например, в архитектурата на микроуслугите потребителският екип непрекъснато прави промени в информацията, която те изискват от API.
Успоредно с това доставчикът на API прави промени по едно и също време и те ще трябва да проверят спрямо версията, която в момента е внедрена в производството, тъй като това ще осигури безпроблемно внедряване.
Заключение
И накрая, имате Pact Broker с публикуван договор, в следващия урок ще разгледаме как да напишем теста на вашия доставчик, като опаковаме .Net Core API, изтеглим най-новия договор и проверим срещу локалния API.
Рамката на Pact е не само ценна в началото на вашия проект, по начин, ориентиран към потребителите, но ползата от визуализирането на вашите потребители с Pact Broker определено е ключов фактор за използването на този инструмент.
Също така способността за по-добро разбиране на взаимодействието с потребителите и как всъщност се използва API, често може да бъде загубена при превода и може да доведе до производствен проблем, който може да се случи. Това води до часове за отстраняване на грешки и тралиране през регистрационните файлове на приложението.
В този урок научихме две различни опции за настройка на вашия Pact Broker. Публикували сте договора си, използвайки рамката на pact-js, а също и с Postman.
В този момент трябва да помислите за подравняване на вашите версии в микроуслугите, както и за последователно именуване на доставчиците, за да създадете лесна за четене и разбираема мрежа на Pact Broker.
=> Посетете тук, за да научите тестването на договор от нулата
Препоръчително четене
- Как да напиша тест за потребителски пакт в JavaScript
- Въведение в тестването на договори с примери
- Проверете договорния договор и непрекъснатото внедряване с Pact CLI
- Урок за Docker: Инсталация и въведение в Docker
- Разширени скриптове за сложни тестови работни процеси в пощальон
- Как да създам API документация в пощальон?
- Как да използвам пощальон за тестване на различни формати на API?
- Топ 10 на най-популярните въпроси за интервю с пощальон с отговори