Skip to content

keploy/typescript-sdk

contributions welcome Slack License

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

  1. Installation
  2. Usage
  3. Community support

Installation

  1. First install Node.js. Then,
# for npm package manager
npm i @keploy/sdk
# for yarn package manager
yarn add @keploy/sdk
  1. Install and Start the keploy binary on an independent terminal. Follow this guide

  2. 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.

  1. 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
            }
  2. 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);
  3. 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
        }
  4. Test Execute

        keploy test -c "npm test" --delay 10 --coverage
  5. 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.

Community support

We'd love to collaborate with you to make Keploy.io great. To get started:

  • Slack - Discussions with the community and the team.
  • GitHub - For bug reports and feature requests.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy