Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Сергей Макаров — Go, Allure и HTTP, или Как мил...
Search
Ozon Tech
July 18, 2022
Technology
0
4.5k
Сергей Макаров — Go, Allure и HTTP, или Как мило тестировать HTTP-сервисы на Go
Ozon Tech
July 18, 2022
Tweet
Share
More Decks by Ozon Tech
See All by Ozon Tech
Сергей Горшенин, «Конвертация данных Ozon»
ozontech
0
16
Юрий Гуреев, «Интеграция 1С с внешними системами. Проблемы и их решения»
ozontech
0
37
Артём Нургалиев, «Кэш на кэш: как ускоряли автобиддеры»
ozontech
0
14
Анна Мария Попова (Х5 Tech) – Фантастический техпис: может ли опыт создания художественных книг помочь в написании документации
ozontech
0
170
Александр Мачулин (Gramax) – Справочник фантастических тварей из Docs as Code
ozontech
0
120
Мария Смирнова – Дзен и искусство работы с документацией: как использовать принципы буддизма в работе техписа
ozontech
0
110
Сергей Кузнецов – «Эксперименты с нейросетями в рекомендациях»
ozontech
0
110
Артём Нургалиев – «MLOps, автоматизированное обучение и доставка моделей»
ozontech
0
98
Артём Панин – «Автоматическое управление рекламой в Ozon»
ozontech
0
110
Other Decks in Technology
See All in Technology
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
960
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
310
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
460
TypeScript、上達の瞬間
sadnessojisan
48
14k
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
SSMRunbook作成の勘所_20241120
koichiotomo
3
180
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
1
210
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
29
13k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
10
1.4k
Storybook との上手な向き合い方を考える
re_taro
5
1.7k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
A designer walks into a library…
pauljervisheath
204
24k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
GitHub's CSS Performance
jonrohan
1030
460k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Transcript
GO, Allure, HTTP, или Как мило тестировать HTTP сервисы на
GO
It’s me! Макаров Сергей Старший разработчик Пишу на Go Автор
библиотеки cute Контрибьютор allure-go
Тесты! Тесты! Тесты в Ozon! Тут отчёты На этом тесты
allure-go Автор: Антон Синяев Github: Статья:
Своя библиотека? Зачем? Там же уже есть решения! Хочу отчеты
в Allure Хочу HTTP тесты Хочу коробочное решение Хочу на GO Вася, 26 лет Тестировщик на Java Работает в Ozon Tech
1) Подготовить HTTP-клиент. 2) Создать данные для теста. 3) Выполнить
HTTP-запрос. 4) Убедиться, что запрос выполнился. 5) Считать ответ в структуру. 6) Начать проверять структуру. Тест
Как будет?
Как будет? Labels Отчёт в Allure
Как будет? Request
Как будет? Asserts Красота
None
Дисклеймер Много про allure, но можно и без него!
Конструктор D’oh!
Suite. Набор тестов. Создание Suite
Suite. Набор тестов.
Милый, нам нужна информация! Информация! Создание Allure лейблов
Милый, нам нужна информация! Информация! Отчёт в Allure
Создаем запрос
Создаем запрос
Доверяй, но проверяй!
Доверяй, но проверяй! Assert Body Assert Headers Assert Response JSON
schema Execute time
Response code Проверка response code Отчёт в Allure
JSON-схема
JSON-схема
Настоящие проверки!
JSON asserts Contains Equal Length GreaterThan Present
Response body Проверка «email» JSON asserts JSON path
Assert body Отчет в Allure при ошибке
Contains Present Coming soon Coming soon Headers asserts
Хочу быть самостоятельным! Варианты Asserts
Хочу быть самостоятельным! Варианты Asserts Создание шага Логирование
Хочу быть самостоятельным! Хочу свои ошибки! Красивая ошибка Отчёт в
Allure
Доверяй, но проверяй! Assert Body Assert Headers Assert Response JSON
schema Execute time + OPTIONAL ASSERTS
Шагай! Создавай дополнительные шаги! Шаг 1 Шаг 1 POST request
Delete request
Шагай! Создавай дополнительные шаги! Шаг 1 Шаг 1 POST request
Delete request
Парень, давай уже заканчивай! Information Request Asserts RUN!!!!!!!!!
Давай посмотрим живьём!
Милый, давай итоги! 79 Тестов: Тестировщиков на cute: 2
Финал Макаров Сергей Tg: SergeyMakar0v Обычно ищу носки или сплю…
Статья про cute github.com/ozontech/cute Библиотека: