问题标签 [dredd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apiblueprint - Dredd Apiary 合同驱动测试 - 有没有办法从本地 dredd 配置访问私人养蜂场文档蓝图格式?
我正在使用 dredd 运行合同驱动的开发测试。
给定一个蓝图 apib 文件,我知道如何配置 dredd 测试以针对本地或远程服务器运行。通常,我的 dredd 配置文件中的相关字段将如下所示
不过,我没有找到一种方法来自动引用托管在 apiary 上的远程蓝图。我想要达到的目标是
在运行实际的 dredd 测试之前,我基本上可以通过使用 apiary CLI 手动获取蓝图并将其保存到本地文件来获得相同的结果
有没有办法直接从dredd配置文件中实现这一步?
注意:
- 我正在使用经过身份验证的养蜂场私人帐户
- 我不担心
endpoint
上面的字段,我的问题是blueprint
字段自动指向远程蜂房源
也许这个问题是重复的,但我查看了以前相关的问题并没有找到任何东西
java - 如何排除测试出现在文档中
我正在使用Dredd HTTP API 测试框架来测试我的后端 API。这个想法是每次创建测试用例时都会自动生成一个文档,这是确保文档始终是最新的和测试驱动的一个很好的做法。有时我想创建一个测试用例而不生成其相关文档。我想找到一种方法来排除测试用例出现在文档中。
谢谢 !
amazon-web-services - 调用 api 网关在 CI 中返回 403 和有关 api 密钥的错误,但在 CI 之外很好(代码构建)
使用 Cloudformation,我创建了 API 网关和使用计划,然后使用 CLI/SDK 创建 API 密钥。所有这些都发生在我们的 CI 流程中。然后我们测试 api 是否返回正确的结果(使用 dredd),但是它失败并出现以下错误:
当我在 Codebuild(即邮递员)之外测试密钥时,它工作正常。有人可以提供一个可能是错误的建议,因为我不确定为什么完全相同的请求在 Codebuild 内部失败但在外部运行良好。
dredd - Dredd:Ruby-hooks:为多个请求执行相同的钩子
我面临的问题是:
我有一个请求,需要为此请求检查 3 种类型的响应。每次我需要在发送之前稍微修改我的请求正文。
我的想法是在之前的钩子中做一些类似“黄瓜式”的事情:
但是经过几次试验,这似乎不起作用,看起来 ruby-hooks 不支持名称中的变量。
任何想法对于这种情况来说什么是正确的方法,因为这里似乎不适合为每个请求设置单独的前钩子?
dredd - 不能让 DREDD 使用 schema.example 作为 POST 正文
我正在尝试使用 Dredd 来测试我的 OpenAPI 指定的 API,但我无法让 Dredd 识别我的 POST 请求的 JSON 正文,它不断发送我的 POST 请求的正文为空。根据 Dredd 的文档,它使用 schema.example 来表示“in”:“body”,这正是我正在做的事情,但 Dredd 不断发出带有空正文的 POST。
我已经尝试过 OpenAPI3 和 OpenAPI2,结果相同。我在 OpenAPI2 规范中的 POST 操作如下所示:
但是当我使用 Dredd 来测试这个 OpenAPI 定义时,对于这个操作它不会发送它应该发送的正文:
我试过同时使用 schema.example 和 schema.x-example 但 Dredd 不会发送正文。正如我之前所说,我也尝试过 OpenAPI3,我得到了相同的结果。
任何帮助将不胜感激。
apiary.io - 在 Hook 中发出警告?
是否可以在钩子函数中引发警告消息?我可以使用 hook.log() 记录消息,但希望将其作为日志级别“警告”正确处理。
hooks.log("WARNING: Something unusual has happened")
openapi - 使用 dredd 验证 OpenAPI 响应
我有一个 OpenAPI v3 规范文件,其中包含以下内容(仅显示片段):
但服务器响应是:
请注意,名称属性类型是integer
并且在服务器响应中,它是string
(故意)但dredd
请求通过(成功)。
不dredd
检查响应属性类型?
我将响应重新定义为string
(不是 JSON):
也不dredd
抱怨。
我什至改变了模式的属性:
当预期失败时,结果相同(成功)。
这些验证不支持dredd
吗?我使用规范错误吗?
javascript - 如何使本地库作为 Node.js 上的已安装模块可用
看看 Dredd,例如,当您使用dredd
命令运行脚本时,它使库 Hooks 可用。
命令行
钩子.js
它是如何工作的?
swagger - 如何为每个 HTTP 状态代码提供单独的示例?
我在尝试指示 Dredd 发出不同的请求以触发两种不同的场景时遇到问题:代码 201 成功和代码 400 失败。
我试图为每个 HTTP 状态代码设置一个单独的示例,但无法做到这一点。我可以在其中添加example
部分,requestBody
但随后它将在两个示例中使用 - 用于成功和失败。
我希望能够对两个 HTTP 代码运行测试:201 和 400。关于如何使用path
param 执行相同操作的示例的奖励点。例如,为/profiles/{id}
(即 200 和 404)提供已找到和未找到的示例。
swagger - Dredd - 解析 swagger 文件“API 描述解析器警告”时出错
我最近将 Dredd 从 4.8 版本升级到 8+,当 Dredd 尝试解析 Swagger 并生成事务请求正文时,我开始收到几十个这些错误。每个错误都与 swagger 文件中的不同行有关。
不幸的是,我无法分享 swagger 文件。但是 Dredd 确实可以很好地生成请求标头。
这是 swagger 文件的常规设置:
swagger 文件在 Dredd 版本升级之间没有变化。请告知可能是什么原因。