问题标签 [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.

0 投票
1 回答
104 浏览

apiblueprint - Dredd Apiary 合同驱动测试 - 有没有办法从本地 dredd 配置访问私人养蜂场文档蓝图格式?

我正在使用 dredd 运行合同驱动的开发测试。

给定一个蓝图 apib 文件,我知道如何配置 dredd 测试以针对本地或远程服务器运行。通常,我的 dredd 配置文件中的相关字段将如下所示

不过,我没有找到一种方法来自动引用托管在 apiary 上的远程蓝图。我想要达到的目标是

在运行实际的 dredd 测试之前,我基本上可以通过使用 apiary CLI 手动获取蓝图并将其保存到本地文件来获得相同的结果

有没有办法直接从dredd配置文件中实现这一步?

注意:

  • 我正在使用经过身份验证的养蜂场私人帐户
  • 我不担心endpoint上面的字段,我的问题是blueprint字段自动指向远程蜂房源

也许这个问题是重复的,但我查看了以前相关的问题并没有找到任何东西

0 投票
1 回答
90 浏览

java - 如何排除测试出现在文档中

我正在使用Dredd HTTP API 测试框架来测试我的后端 API。这个想法是每次创建测试用例时都会自动生成一个文档,这是确保文档始终是最新的和测试驱动的一个很好的做法。有时我想创建一个测试用例而不生成其相关文档。我想找到一种方法来排除测试用例出现文档中。

谢谢 !

0 投票
1 回答
587 浏览

amazon-web-services - 调用 api 网关在 CI 中返回 403 和有关 api 密钥的错误,但在 CI 之外很好(代码构建)

使用 Cloudformation,我创建了 API 网关和使用计划,然后使用 CLI/SDK 创建 API 密钥。所有这些都发生在我们的 CI 流程中。然后我们测试 api 是否返回正确的结果(使用 dredd),但是它失败并出现以下错误:

当我在 Codebuild(即邮递员)之外测试密钥时,它工作正常。有人可以提供一个可能是错误的建议,因为我不确定为什么完全相同的请求在 Codebuild 内部失败但在外部运行良好。

0 投票
1 回答
82 浏览

dredd - Dredd:Ruby-hooks:为多个请求执行相同的钩子

我面临的问题是:

我有一个请求,需要为此请求检查 3 种类型的响应。每次我需要在发送之前稍微修改我的请求正文。

我的想法是在之前的钩子中做一些类似“黄瓜式”的事情:

但是经过几次试验,这似乎不起作用,看起来 ruby​​-hooks 不支持名称中的变量。

任何想法对于这种情况来说什么是正确的方法,因为这里似乎不适合为每个请求设置单独的前钩子?

0 投票
1 回答
503 浏览

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,我得到了相同的结果。

任何帮助将不胜感激。

0 投票
1 回答
68 浏览

apiary.io - 在 Hook 中发出警告?

是否可以在钩子函数中引发警告消息?我可以使用 hook.log() 记录消息,但希望将其作为日志级别“警告”正确处理。

hooks.log("WARNING: Something unusual has happened")

0 投票
1 回答
219 浏览

openapi - 使用 dredd 验证 OpenAPI 响应

我有一个 OpenAPI v3 规范文件,其中包含以下内容(仅显示片段):

但服务器响应是:

请注意,名称属性类型是integer并且在服务器响应中,它是string(故意)但dredd请求通过(成功)。

dredd检查响应属性类型?

我将响应重新定义为string(不是 JSON):

也不dredd抱怨。

我什至改变了模式的属性:

当预期失败时,结果相同(成功)。

这些验证不支持dredd吗?我使用规范错误吗?

0 投票
2 回答
169 浏览

javascript - 如何使本地库作为 Node.js 上的已安装模块可用

看看 Dredd,例如,当您使用dredd命令运行脚本时,它使库 Hooks 可用。

命令行

钩子.js

它是如何工作的?

0 投票
1 回答
69 浏览

swagger - 如何为每个 HTTP 状态代码提供单独的示例?

我在尝试指示 Dredd 发出不同的请求以触发两种不同的场景时遇到问题:代码 201 成功和代码 400 失败。

我试图为每个 HTTP 状态代码设置一个单独的示例,但无法做到这一点。我可以在其中添加example部分,requestBody但随后它将在两个示例中使用 - 用于成功和失败。

我希望能够对两个 HTTP 代码运行测试:201 和 400。关于如何使用pathparam 执行相同操作的示例的奖励点。例如,为/profiles/{id}(即 200 和 404)提供已找到和未找到的示例。

0 投票
0 回答
221 浏览

swagger - Dredd - 解析 swagger 文件“API 描述解析器警告”时出错

我最近将 Dredd 从 4.8 版本升级到 8+,当 Dredd 尝试解析 Swagger 并生成事务请求正文时,我开始收到几十个这些错误。每个错误都与 swagger 文件中的不同行有关。

不幸的是,我无法分享 swagger 文件。但是 Dredd 确实可以很好地生成请求标头。

这是 swagger 文件的常规设置:

swagger 文件在 Dredd 版本升级之间没有变化。请告知可能是什么原因。