🌟 The must-have tool for developers in the AI-Gen era 🌟
Keploy is a developer-centric backend testing tool. It makes backend tests with built-in-mocks, faster than unit tests, from user traffic, making it easy to use, powerful, and extensible. 🛠
Ready for the magic? Here are Keploy's core features:
-
♻️ Combined Test Coverage: Merge your Keploy Tests with your fave testing libraries(JUnit, go-test, py-test, jest) to see a combined test coverage.
-
🤖 EBPF Instrumentation: Keploy uses EBPF like a secret sauce to make integration code-less, language-agnostic, and oh-so-lightweight.
-
🌐 CI/CD Integration: Run tests with mocks anywhere you like—locally on the CLI, in your CI pipeline, or even across a Kubernetes cluster. It's testing wherever you want it!
-
🎭 Multi-Purpose Mocks: Use 'em in existing tests, as server tests, or just to impress your friends!
-
📽️ Record-Replay Complex Flows: Keploy can record and replay complex, distributed API flows as mocks and stubs. It's like having a time machine for your tests—saving you tons of time!
🐰 Fun fact: Keploy uses itself for testing! Check out our swanky coverage badge:
From Go's gopher 🐹 to Python's snake 🐍, we support:
Our magical 🧙♂️ Keploy proxy captures and replays ALL(CRUD operations, including non-idempotent APIs) of your app's network interactions.
Take a journey to How Keploy Works? to discover the tricks behind the curtain!
Become a Keploy pro with our Documentation.
Below is a table summarizing the tools needed for both native and Docker installations of Keploy on MacOS, Windows, and Linux:
Operating System | Without Docker | Docker Installation | Prerequisites |
---|---|---|---|
MacOS | Docker Desktop version must be 4.25.2 or above | ||
Windows | - Use WSL wsl --install - Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11 |
||
Linux | Linux kernel 5.15 or higher |
On MacOS and Windows, additional tools are required for Keploy due to the lack of native eBPF support.
To get started let's set Keploy alias by running.
curl -O https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh
To initiate the recording of API calls, execute this command in your terminal:
keploy record -c "CMD_TO_RUN_APP"
For example, if you're using a simple Golang program, the CMD_TO_RUN_APP would resemble:
keploy record -c "go run main.go"
To run the testcases and generate a test coverage report, use this terminal command:
keploy test -c "CMD_TO_RUN_APP" --delay 10
Reach out to us. We're here to help!
Whether you're a newbie coder or a wizard 🧙♀️, your perspective is golden. Take a peek at our:
- Unit Testing: While Keploy is designed to run alongside unit testing frameworks (Go test, JUnit..) and can add to the overall code coverage, it still generates integration tests.
- Production Lands: Keploy is currently focused on generating tests for developers. These tests can be captured from any environment, but we have not tested it on high volume production environments. This would need robust deduplication to avoid too many redundant tests being captured. We do have ideas on building a robust deduplication system #27
🤔 FAQs
🕵️️ Why Keploy