从 chai-openapi-response-validator 插件导入 chai 断言

问题描述 投票:0回答:1

我正在使用 Cypress.io 框架,我想实现名为 chai-openapi-response-validator 的 chai 插件,其中包含一个名为 SaturationApiSpec 的新断言

https://github.com/openapi-library/OpenAPIValidators/tree/master/packages/chai-openapi-response-validator

我尝试安装插件并将其添加到plugins/index.js 文件中,但 cypress 测试中的断言失败并出现错误:Invalid Chai property: SaturationApiSpec

是否有另一种方法来添加此插件,以便 cypress / chai 将学习新的断言?

cypress mocha.js chai
1个回答
0
投票

您可以将其添加到规格的顶部,或者添加到所有规格的

cypress/support/index.js
中。

cypress/plugins
适用于节点插件,但浏览器端插件可以直接导入到specs或support/index.js中。

const chai = require('chai');
const chaiResponseValidator = require('chai-openapi-response-validator').;
chai.use(chaiResponseValidator('path/to/openapi.yml'));

解决此 chai 插件的 fs.read() 问题

来自 npm:chai-openapi-response-validator

加载您的 OpenAPI 规范(3 种不同的方式):

  1. 来自物体:
// Load that OpenAPI object into this plugin
chai.use(chaiResponseValidator(openApiSpec));

因此您可以在初始化插件之前需要该对象

const chai = require('chai');
const chaiResponseValidator = require('chai-openapi-response-validator');
const openApiSpec = require('path/to/openapi.yml');
chai.use(chaiResponseValidator(openApiSpec));

另一种选择 - 查看 cy-spok 来验证 API 响应。

链接视频以截取方式显示实际效果。

© www.soinside.com 2019 - 2024. All rights reserved.