pactum-swagger-coverage
TypeScript icon, indicating that this package has built-in type declarations

2.0.3 • Public • Published

pactum-swagger-coverage

Build Downloads Size Platform

JSON swagger/openapi3 coverage reporter for Pactum tests. It's capable of reading the swagger/oas3 definitions from either swagger.yaml or swagger.json or openapi3.yaml (served on a http server endpoint).

Installation

npm install --save-dev pactum pactum-swagger-coverage

Usage

const pactum = require('pactum');
const psc = require('pactum-swagger-coverage');
const reporter = pactum.reporter;

// global before block
before(() => {
  reporter.add(psc);
});

// global after block
after(() => {
  return reporter.end();
});

Reporter Options

const psc = require('pactum-swagger-coverage');

// name of the report file - defaults to "swagger-cov-report.json"
psc.reportFile = 'report-name.json';

// folder path for the report file - defaults to "./reports"
psc.reportPath = './reports-path';

/** 
* base path - defaults to `basePath` for swagger 2.0/openapi2 and first server url 
* or empty if either of them doesn't exist or not set explicitly
*/ 
psc.basePath = '/api/server/v1'; 

// Swagger json url of the server - defaults to ""
psc.swaggerJsonUrl = "http://localhost:3010/api/server/v1/json";

// Swagger Yaml file path - defaults to ""
psc.swaggerYamlPath = './tests/testObjects/swagger.yaml';

Report Json Output (example)

{
  "basePath": "/api/server/v1",
  "coverage": 0.2,
  "coveredApiCount": 1,
  "missedApiCount": 4,
  "totalApiCount": 5,
  "coveredApiList": [
    "/getallninjas"
  ],
  "missedApiList": [
    "/health",
    "/getninjabyid/{id}",
    "/getninjabyname/{name}",
    "/getninjabyrank/{rank}"
  ]
}

Note: Either 'swaggerJsonUrl' or 'swaggerYamlPath' should be provided for reporter to work.

Notes

Read more about Pactum here.

Inspired by swagger-coverage-postman.


API Testing

Package Sidebar

Install

npm i pactum-swagger-coverage

Weekly Downloads

375

Version

2.0.3

License

MIT

Unpacked Size

10.4 kB

Total Files

9

Last publish

Collaborators

  • leelaprasadv