0

我正在使用Dredd工具来测试我的 API(位于 apiary.io 上)。

问题

我想为 dredd 提供我的文档的路径(它甚至要求它),但是我的 API 文档在 apiary.io 上,但我不知道指向它的确切 url。为 dredd 提供 API 路径的正确方法是什么?

什么有效(但不是我想要的)

注意:我尝试将 api 下载到我的本地驱动器并为 dredd 提供文件的本地路径(yml 或 apib),它可以正常工作(耶!),但我想避免保留本地副本并简单地提供 dredd我在养蜂场服务器上维护的真实 API 文档的位置。

我该怎么做(无需先将文件提取到本地驱动器)?

试图解决这个失败的问题

我还阅读(并尝试过)以下主题,它们可能是相关的,但我没有成功解决问题 - 使用身份验证令牌作为环境变量 - 将 apiary.io//settings 提供的域提供给 dredd - 提供在 dredd 命令中,所有这些尝试仍然产生相同的结果,Dredd 不知道在哪里可以找到 API 文档,除非我在本地计算机中提供文件的路径(我必须先在我的计算机上下载或手动创建) .

任何帮助表示赞赏,谢谢!

4

2 回答 2

0

如果我理解正确,您想使用dreddApiar.io 平台上的 API 描述文档来使用和提供它,对吗?

如果是这样,您应该能够简单地init使用正确的选项调用命令:

dredd init -r apiary -j apiaryApiKey:privateToken -j apiaryApiName:sasdasdasd

您可以Test在目标 API 的部分找到私有令牌(您会在应用程序标题上找到按钮)。

让我知道这是否为您解决了问题 - 我会确保在我们的帮助页面上传播并相应地记录它

PS:你也可以使用自己的reporter——在这种情况下,-r apiary写命令行参数的时候直接省略即可。

于 2016-08-09T09:43:22.413 回答
0

您不仅可以为 Dredd 提供磁盘上文件的路径,还可以提供 URL

如果您在 Apiary 中的 API 是公开的,那么 API 描述文档(在本例中为 API 蓝图)应该有一个公开的 URL。例如,如果您访问http://docs.apiblueprintapi.apiary.io/,您可以看到左侧有一个下载链接。不幸的是,该链接仅对无权访问 API 编辑器的用户可见,因此如果您是 API 的所有者,则看不到该链接。尝试从 Apiary 注销,应该会出现链接:

在此处输入图像描述

然后你可以用这个链接喂 Dredd:

$ dredd 'http://docs.apiblueprintapi.apiary.io/api-description-document' 'http://example.com:8080/api'

我同意这不是很直观,并且由于您不是第一个提出此想法的人,我想我们会想一些方法来使它更容易。


如果您的 API 不公开,那么很遗憾,目前无法获取 URL。但是,您可以使用GitHub SyncApiary CLI以自动方式获取磁盘上的文件。

于 2016-08-09T12:05:05.123 回答