首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用frisby.js为Rest API测试生成测试覆盖率

使用frisby.js为Rest API测试生成测试覆盖率
EN

Stack Overflow用户
提问于 2018-07-04 23:20:51
回答 1查看 768关注 0票数 1

我正在与Mocha一起使用frisby.js来实现自动化Rest API测试。所有测试都在单独的测试自动化项目中实现。REST API实现在其他项目中实现。Rest API基于Swagger。因此,我能够到达/获取swagger.json作为API定义。

下面是一个简单的实现示例:

代码语言:javascript
复制
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);
          });
      });
    });
  });
});

现在,我想了解一下这个Rest API的测试覆盖率。因此,我想了解一下已经测试了哪些API端点,以及目前没有涵盖哪些API端点。

是否有任何工具、包等来生成和实现这样的测试覆盖报告?

EN

回答 1

Stack Overflow用户

发布于 2018-07-04 23:24:01

你可以使用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", }

编辑:

检查这个库:https://github.com/mobilcom-debitel/got-swag

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51176884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档