Dredd - API蓝图测试工具。 “未定义”问题

时间:2014-02-19 13:31:01

标签: apiblueprint apiary.io apiary

我安装了 dredd - API蓝图测试工具,并尝试针对实施测试我们的APIary API。

在蓝图中我只有一个资源在somehost上正确实现...但测试失败:(

测试命令:     dredd apiary.apib http://somehost.de:8443/imp-endpoint

输出:     Info: Beginning Dredd testing... undefined

我还尝试了更多选项来获取更多未定义的信息..例如 -l verbose 和其他一些选项。但我没有得到关于失败的更多信息:(

有没有人有经验呢?谢谢!!! :)

1 个答案:

答案 0 :(得分:4)

Answered on Github但我会重现这里的要点以供参考:

我无法重现您的“未定义”问题,但有一些问题在纠正后会使一切正常。

  1. 目前,基本网址中没有路径(请参阅#43)。这在#45中得到解决,但尚未合并。所以你的命令应该是'dredd apiary.apib http://somehost.de:8443/'然后'/ imp-endpoint'应该是网址上的前缀。

  2. 您的apib文件中的URI模板不正确。而不是/api/V0/Resources/CarSharing/Cars?{lat}&{lng}&{radius},它应该是/imp-endpoint/api/V0/Resources/CarSharing/Cars{?lat,lng,radius}。请参阅RFC6750以供参考。

  3. 行尾应该是Unix风格,而不是Windows(\ n,不是\ n \ r)。当我第一次运行你提供的apib时,我得到了错误:the use of carriage return(s) '\r' in source data isn't currently supported, please contact makers(这实际上是由蓝图解析器强制执行,请参阅snowcrash

  4. 希望有所帮助!我在运行测试时得到401,因此您需要提供HTTP Basic身份验证信息(这可以在蓝图的标题部分或dredd上的-u标志中完成,如{{1} })