Генерация тестового покрытия для тестов API отдыха с помощью frisby.js - PullRequest
0 голосов
/ 04 июля 2018

Я использую frisby.js для реализации автоматических тестов Rest API вместе с Mocha . Все тесты реализованы в отдельном проекте автоматизации. Реализации API REST реализованы в других проектах. Rest API основан на Swagger. Итак, я могу получить / получить swagger.json как определение API.

Вот простой пример реализации:

const frisby = require('frisby');
const chai = require('chai');
const assert = chai.assert;
const config = require('config');
const { adminUser1 } = config.get('users');
const { adminUser2 } = config.get('users');
const restHelper = require('../restHelper');

describe('REST API endpoint \'/auth\' on environment: ' + process.env.BASE_URL + '/api/auth', () => {
  // POST /auth
  describe('POST /auth', () => {

    // POST /auth - Status Code 200
    describe('Status Code 200', () => {

      it('create a new session for user ' + adminUser1.username, () => {
        return frisby
          .post(process.env.BASE_URL + '/api/auth', {
            'username': adminUser1.username,
            'password': adminUser1.password,
          })
          .expect('status', 200)
          .then(function (result) {
            assert.isNotNull(result.json.token);
          });
      });
    });
  });
});

Теперь я хочу получить информацию о тестовом покрытии для этого API отдыха. Итак, я хочу получить обзор того, что уже протестировано и какие конечные точки API в настоящее время не рассматриваются.

Существуют ли какие-либо инструменты, пакеты и т. Д. Для создания и реализации такого отчета о тестовом покрытии?

1 Ответ

0 голосов
/ 04 июля 2018

Вы можете использовать NYC новой версии Стамбула. NYC (https://github.com/istanbuljs/nyc) это, пожалуй, самый известный и используемый отчет о покрытии для nodejs. И он интегрируется с mocha. Дайте мне знать, если вам нужна помощь!

Вам просто нужно добавить скрипт покрытия в ваш package.json:

scripts: { "test": "mocha --exit --recursive test", //your test command "coverage": "nyc --exclude dist/test --reporter=html npm run test", }

EDIT:

Проверьте эту библиотеку: https://github.com/mobilcom-debitel/got-swag

...