我安装了 dredd - API蓝图测试工具,并尝试针对实施测试我们的APIary API。
在蓝图中我只有一个资源在somehost上正确实现...但测试失败:(
测试命令:
dredd apiary.apib http://somehost.de:8443/imp-endpoint
输出:
Info: Beginning Dredd testing...
undefined
我还尝试了更多选项来获取更多未定义的信息..例如 -l verbose 和其他一些选项。但我没有得到关于失败的更多信息:(
有没有人有经验呢?谢谢!!! :)
答案 0 :(得分:4)
Answered on Github但我会重现这里的要点以供参考:
我无法重现您的“未定义”问题,但有一些问题在纠正后会使一切正常。
目前,基本网址中没有路径(请参阅#43)。这在#45中得到解决,但尚未合并。所以你的命令应该是'dredd apiary.apib http://somehost.de:8443/'然后'/ imp-endpoint'应该是网址上的前缀。
您的apib文件中的URI模板不正确。而不是/api/V0/Resources/CarSharing/Cars?{lat}&{lng}&{radius}
,它应该是/imp-endpoint/api/V0/Resources/CarSharing/Cars{?lat,lng,radius}
。请参阅RFC6750以供参考。
行尾应该是Unix风格,而不是Windows(\ n,不是\ n \ r)。当我第一次运行你提供的apib时,我得到了错误:the use of carriage return(s) '\r' in source data isn't currently supported, please contact makers
(这实际上是由蓝图解析器强制执行,请参阅snowcrash)
希望有所帮助!我在运行测试时得到401,因此您需要提供HTTP Basic身份验证信息(这可以在蓝图的标题部分或dredd上的-u
标志中完成,如{{1} })