Note :- Issue Creation is disabled on this Repository, please visit here to submit issue.
This is the client SDK for the Keploy testing platform. With the TypeScript SDK, you can test both your existing unit test cases in Jest and create new end-to-end test cases for your applications. The HTTP mocks/stubs and tests are the same format and inter-exchangeable.
- First install Node.js. Then,
# for npm package manager
npm i @keploy/sdk
# for yarn package manager
yarn add @keploy/sdk
-
Install and Start the keploy binary on an independent terminal. Follow this guide
-
Finally, install nyc as a development dependency using npm or yarn:
# for npm package manager
npm install --save-dev nyc
# for yarn package manager
yarn add --dev nyc
With nyc installed, you can now use it to analyze code coverage for both unit and end-to-end test cases in your project
Keploy simplifies the testing process by seamlessly generating end-to-end test cases without the need to write unit test files and manage mocks/stubs.
-
Enabling Coverage To add the specified coverage-related scripts to your package.json file, you can include the following statement within the "scripts" section:
"scripts": { // ... other scripts "test": "jest --coverage", "coverage": "nyc npm test && npm run coverage:merge && npm run coverage:report", "coverage:merge": "mkdir -p ./coverage && nyc merge ./coverage .nyc_output/out.json", "coverage:report": "nyc report --reporter=lcov --reporter=text" // ... other scripts }
-
A testfile to run and display coverage Create a test file that execute Keploy's end-to-end test cases along with unit testcases. It can be called as
Keploy.test.js
The contents of the file will be
const { expect } = require('@jest/globals'); const keploy = require('@keploy/sdk'); const timeOut = 300000; describe('Keploy Server Tests', () => { test('TestKeploy', (done) => { const cmd = 'npm start'; const options = {}; keploy.Test(cmd, options, (err, res) => { if (err) { done(err); } else { expect(res).toBeTruthy(); // Assert the test result done(); } }); }, timeOut); }, timeOut);
-
RunOptions
options { delay: number; // delay for the application ro run debug: boolean; // enable or disable debug flag port: number; // port of keploy you want to run path: string; // path of the keploy tests and mocks }
-
Test Execute
keploy test -c "npm test" --delay 10 --coverage
-
Get Combined coverage Execute
keploy test -c "npm run coverage" --delay 10 --coverage
🎉TADA: You've successfully tested end-to-end test cases alongside unit test cases without the need to write additional test files or manage mocks/stubs.
We'd love to collaborate with you to make Keploy.io great. To get started: