Как мы превратили Swagger из документации в двигатель API-автотестов

Всем привет! Меня зовут Олег Малышев. Я один из лидеров стека тестирования в компании «ТехВилл» Мы продолжаем разговор о том, как применять ИИ в тестировании. В этой статье расскажу, как мы пишем API-автотесты с помощью OpenAPI Generator, Cursor/Claude Code и автоматически считаем покрытие по Swagger через swagger-coverage. Раньше я уже записывал большое двухчасовое видео по Cursor , где показывал в том числе, как мы генерируем автотесты. Но с тех пор подход немного изменился: мы сильнее завязались на OpenAPI-контракт, добавили Swagger Coverage, JSON-отчёты для LLM и специальные skills для генерации недостающих тестов.

https://habr.com/ru/companies/vkusvill/articles/1050894/

#вкусвилл #qa #api_testing #автотесты #openapi #swagger #swagger_coverage #llm #cursor #gitlab_ci

Как мы превратили Swagger из документации в двигатель API-автотестов

Всем привет! Меня зовут Олег Малышев. Я один из лидеров стека тестирования в компании «ТехВилл» Мы продолжаем разговор о том, как применять ИИ в тестировании. В этой статье расскажу, как мы пишем...

Хабр

Are you into APIs and SDKs?

Are you in an expert in C# and Rust? Do you have a Git commit history to prove it?

@Interledger is looking to fund adding Rust support in Kiota—the OpenAPI-based SDK generator used by Microsoft and GitHub.

(Boosts welcomed!)

https://interledger.org/grant/open-payments-sdk?ref=activitypub

#Kiota #CSharp #Rust #RustLang #FOSSFunding #OpenAPI

Open Payments SDK grant program

The Open Payments SDK Grant Program offers $5,000–$50,000 in funding for projects that improve the developer experience of integrating Open Payments into applications and e-commerce platforms. Focused on SDK generation from the OpenAPI specification using tools like Kiota, this program supports scalable, consistent API integrations that reduce technical complexity and accelerate adoption of open payments technology.

Interledger Foundation
[ APIエンドポイント入出力定義の課題とその見直し案 #oRPC #OpenAPI #SchemaType #StandardSchema ]
https://github.com/misskey-dev/misskey/discussions/17609
APIエンドポイント入出力定義の課題とその見直し案 #oRPC #OpenAPI #SchemaType #StandardSchema · misskey-dev misskey · Discussion #17609

#10752 の挫折 私は昔、 #10752 を書いたことがありましたが、定義移行の量が多すぎて断念した (今ならAIエージェントを使って爆速で移行できるはずではあるが) これ以降はmisskey-js/generatorが開発されてバックエンドから型定義を生成できるようになりはしたものの、個人的にはAPI定義についてまだ不満があるため、今一度API定義について問題点を洗い出し、現代的なAP...

GitHub

API-First: progettare il contratto prima del codice

Pillar article sull'approccio API-First: come progettare l'API come prodotto, definire il contratto con OpenAPI, e costruire frontend e backend in parallelo.

Continua a leggere su iadicola.it: https://iadicola.it/articoli/api-first-progettare-contratto-prima-del-codice?utm_source=mastodon&utm_medium=social

#APIFirst #ContractFirst #OpenAPI

Как я подключал YandexGPT к AI-агентам (OpenCode, Pi, Hermes и Claude Code)

Недавно исследовал интеграцию разных моделей. После танцев с бубном вокруг GigaChat решил проверить Yandex Cloud. Оказалось, нативная поддержка OpenAPI решает проблему без кастомных прокси. Внутри — готовые конфиги для OpenCode, Pi, Hermes и нюансы работы с Claude Code.

https://habr.com/ru/articles/1049322/

#YandexGPT #Yandex_Cloud #OpenAPI #AIагенты #OpenCode #LLM

Как я подключал YandexGPT к AI-агентам (OpenCode, Pi, Hermes и Claude Code)

Я уже исследовал возможности интеграции разных моделей в инструменты разработки. Недавно решил плотно посмотреть на Yandex AI Studio и понять, как легко их модели залетают в популярные клиенты....

Хабр
Side project of main is starting to work. The idea is to build #ai -native job board with #mcp and open #openapi spec.
Is there anyone who would like to test it?

OpenAPI без #[OA\...]: как я сделал генератор документации для Symfony

В прошлой статье я уже рассказывал, как однажды устроился на работу и получил пачку «интересных» задач: вручную синхронизировать OpenAPI, оформленный в комментариях к коду, с самим кодом в десятке сервисов. Тогда это звучало как начало анекдота, но мне было не до смеха. С тех пор я сменил работу. И, как будто вселенная решила проверить моё чувство юмора, я снова вижу API, где контракт живёт рядом с кодом в ручных #[OA\...] атрибутах. И это важный момент. Это не история про одну конкретную компанию, один неудачный проект или один старый сервис, который все боятся трогать. Я вижу этот подход в разных местах.

https://habr.com/ru/articles/1047686/

#OpenAPI #Symfony #PHP #Swagger #DTO #View_objects #API #документация #автогенерация #routes

OpenAPI без #[OA\...]: как я сделал генератор документации для Symfony

В прошлой статье я уже рассказывал, как однажды устроился на работу и получил пачку «интересных» задач: вручную синхронизировать OpenAPI, оформленный в комментариях к коду, с самим кодом в десятке...

Хабр

Every validator I wrote started the same way: one giant function that walks the tree and appends to an error array through nested ifs. It works. It also rots. You cannot test one rule alone, turn one off, and the error location is whatever string you remembered to interpolate.

Matt Polzin's OpenAPIKit taught me the fix. A validation is not code you run, it is a value you build: a positive description, a check, a path that fills itself in.

https://aleahim.com/blog/validations-are-values/

#Swift #OpenAPI

"Validations Are Values"

Most validation code is one giant function that walks a tree and appends to an error array through a forest of if statements. OpenAPIKit showed me a better way, a validation is a small composable value, the description states the correct state, and every error already knows where it lives

Aleahim.com
@odrotbohm My advice for years has been that if you feel like you need GraphQL, your API is designed poorly and you should fix the API. #ContractFirst, #OpenAPI, and #APIContracts should have been used for the UI/UX people to communicate with the backend team what they need, when, and how much.

Как я прикрутил GigaChat к OpenCode и что из этого понял

Мне было интересно проверить GigaChat/GigaCode не в обычном чате, а в нормальной агентной среде разработки. То есть не “ответь на вопрос”, а вот это всё: tools , function calling , streaming , MCP-инструменты , история диалога и работа внутри реального проекта. Для проверки я подключил GigaChat к OpenCode через TypeScript-плагин. Простой текстовый запрос завёлся быстро, а дальше началось самое интересное: OpenAI-like API оказался похожим на совместимый агентный протокол только снаружи. Внутри пришлось собирать отдельный слой совместимости.

https://habr.com/ru/articles/1046321/

#GigaChat #GigaCode #OpenCode #ИИагенты #агентная_разработка #function_calling #MCP #OpenAI_API #OpenAPI

Как я прикрутил GigaChat к OpenCode и что из этого понял

Это личный инженерный эксперимент. Не релиз, не продуктовая статья и не попытка кого-то убедить. Мне просто захотелось проверить руками, насколько российские модели на примере GigaChat готовы к...

Хабр