Note :- Issue Creation is disabled on this Repository, please visit here to submit issue.
Keploy Typescript-SDK
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.
Contents
Installation
- First install Node.js. Then,
# for npm package manager
npm i @keploy/typescript-sdk
# for yarn package manager
yarn add @keploy/typescript-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
Usage
Unit and End-to-End Testing with Keploy
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": "nyc npm test && npm run coverage:merge && npm run coverage:report", "coverage:merge": "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 { KeployTest, Config, } = require('../../typescript-sdk/dist/keployCli'); const timeOut = 300000; const { expect } = require('@jest/globals'); describe('Keploy Server Tests', () => { test('TestKeploy', async () => { // testResult = await KeployTest() const config = new Config('npm start') testResult = await KeployTest(config) //by default command is set to "npm start", incase of custom command update the keployTest as shown above expect(testResult).toBeTruthy(); }, timeOut); }, timeOut);
-
Test Execute
keploy test -c "npm test" --delay 10
🎉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.
Community support
We'd love to collaborate with you to make Keploy.io great. To get started: