À propos du projet

Keploy est une plateforme de test d'API et d'intégration centrée sur le développeur qui génère automatiquement des tests et des mocks de données à partir du trafic utilisateur réel. Plutôt que d'exiger des développeurs qu'ils écrivent manuellement des cas de test, elle enregistre les appels API en direct, les requêtes de base de données et les événements de streaming, puis les rejoue de manière déterministe comme tests. Comment cela fonctionne : Keploy utilise eBPF pour capturer le trafic au niveau de la couche réseau, sans nécessiter de SDK, de modifications de code ou d'instrumentation spécifique au langage. Le projet se décrit comme sans code et indépendant du langage, avec un support pour Go, Java, Node.js, Python, Rust, C#, C/C++, TypeScript, Scala, Kotlin, Swift, Dart, PHP, Ruby, Elixir et .NET, ainsi que pour des protocoles et infrastructures tels que HTTP/REST, gRPC, GraphQL, Kafka, RabbitMQ, PostgreSQL, MySQL, MongoDB et Redis. Capacités principales décrites dans le README : - Enregistrement et rejeu : exécutez une application avec `keploy record` pour capturer les flux API et d'intégration réels comme tests et mocks, puis exécutez `keploy test` pour les rejouer hors ligne sans réapprovisionner l'infrastructure. - Virtualisation de l'infrastructure : au-delà du mock HTTP, il enregistre les bases de données, les systèmes de files d'attente/streaming et les API externes, et les rejoue de manière déterministe. - Couverture combinée : rapporte la couverture de déclarations et de branches pour les développeurs, ainsi que la couverture de schémas API et de cas d'utilisation métier pour l'assurance qualité. - Expansion assistée par IA : utilise les enregistrements existants et les schémas Swagger/OpenAPI pour sonder les valeurs limites, les champs manquants ou supplémentaires, les types incorrects, les séquences désordonnées et les nouvelles tentatives/délais d'attente afin d'élargir la couverture. - Intégration CI/CD : les tests avec mocks peuvent s'exécuter localement, dans des pipelines tels que Jenkins ou GitHub Actions, ou sur un cluster Kubernetes. - Fonctionnalités supplémentaires : mocks polyvalents utilisables comme tests de serveur, rapports unifiés dans CI ou PR, console développeur pour visualiser et déboguer les tests et mocks, gel du temps pour un rejeu déterministe, et registre de mocks pour gérer et versionner les mocks entre équipes. Le démarrage rapide implique l'installation de l'agent Keploy via un script shell, l'enregistrement de tests avec `keploy record -c "CMD_TO_RUN_APP"`, et leur exécution avec `keploy test -c "CMD_TO_RUN_APP" --delay 10`. Le projet est répertorié dans le CNCF Landscape et maintient une documentation, une communauté Slack, des directives de contribution et un code de conduite. Le README note que certaines dépendances ne sont pas open-source par nature en raison de protocoles et d'analyses fermés, et que celles-ci ne sont pas prises en charge dans Keploy enterprise.