User:CurlyParadox/sandbox

= Keploy = Keploy is 100% Open Source API Testing Platform that eliminates need for writing test-cases and data mocks, making releases faster and highly-reliable It converts API calls into testcases by capturing all network calls for an API request and replaying them (including writes/mutations!) later during testing. Mocks are automatically generated with the actual request/responses.

Convert API calls from anywhere to Test-Case​
Keploy captures all the API calls and subsequent network traffic served by the application. You can use any existing API management tools like Postman, Hoppscotch, Curl to generate test-case.

Automatically mock Mutations​
Keploy automatically mocks network/external dependencies for all CRUD operations with correct responses.

Now you'll not require data dumps or mocks for dependencies like DBs, internal services, or third party services like twilio, shopify or stripe.

Please check list of currently supported dependencies in Go.

With Keploy you can safely replay writes or mutations by capturing from local or other environments.

Idempotency guarantees are also not required in the application. Multiple Reads after write operations can be replicated automatically too.

Accurate Noise Detection​
Keploy identifies noisy fields in the responses accurately like (timestamps, random values) to ensure high quality tests.

As the application serves the API, Keploy re-run that API request with the captured dependency mocks.

Keploy then compares if the responses of the API requests disagree with each other. If any of the fields of the API responses are different they are marked as random/non-deterministic fields.

Native interoperability​
Keploy has native integrations with popular testing libraries like. Code coverage will be reported with existing and Keploy recorded test cases and can also be integrated in existing CI pipelines easily.

How Keploy Works?
Keploy is added as a middleware to your application that captures and replays all network interaction served to application from any source.

Record Unique Network Interactions as Test Case​
Once we start the application in record mode to capture API calls as test cases.

Now, when the application serves an API, all the unique network interactions are stored within Keploy server as a test-case.

Replay Test-Cases​
Let's say we developed new application version(v2). To test locally, start the application after setting Keploy SDK mode to test mode to replay all recorded API calls/test cases.

Now, when the application starts:


 * Keploy will download all the previously recorded test-cases/API calls with a 5 sec delay(configurable application build time).
 * When the application will try to talk to any dependencies like DBs, Routers, vendor services, Keploy will intercept and provide the previously recorded dependency response.


 * Keploy will compare the API response to the previously captured response and a report will be generated on the Keploy console.

We can test with Keploy locally or can integrate Keploy with popular testing-frameworks and existing CI pipelines.

Why Keploy?
Keploy is an open-source functional test case and data mock generation platform. There are 4 Major reasons why you should use Keploy.

Dependency Mocking​
Keploy records the exact API calls, including dependencies data. So if you're still writing data mocks for any external service like Databases, third party vendors like stripe, twilio, razorpay, cloud services, etc. Keploy will automatically create mocks for these.

Automated Assertions​
Keploy automatically compares all attributes of an actual and expected test-case response and brings any differences to your attention.

Detailed Test Reports​
Keploy will test the new version of application with thousands of test cases within minutes and generate instant reports and alerts so that you don't miss on anything!

Simple CI/CD Integration​
Keploy has native integrations with native testing libraries like go-test, junit. Code coverage will be reported with existing plus Keploy recorded test cases and doesn't require any change in the CI/CD pipeline to integrate.