[英]How to debug hanging api-easy (or vows) tests?
我正在使用api-easy来实现REST api的端到端测试。 该库本身非常好,但是调试失败的测试比我预期的要难,但是也许我没有使用正确的方法。
我遇到了这个问题:该测试向服务器发送了“ GET”消息,该服务器由于内存不足而无法响应。 该请求被永久阻止,但我无法在输出中看到它,因为仅打印成功或失败的测试。
是否可以将所有请求转储到stdout? 超时选项还可以帮助中止阻塞测试(并使它们失败)。
我当前的方法是修补api-easy.js
文件,以将请求转储到控制台:
console.log(outgoing); // this line is new
if (requestImpl)
requestImpl(outgoing, this.callback);
else
request(outgoing, this.callback);
输出包含标题,uri和方法:
Dummy "echo" REST service
{ headers: { 'Content-Type': 'application/json' },
uri: 'http://localhost/resources/echo/abc',
method: 'get' }
When using the "echo" service A GET to /echo/abc
✓ should respond with 200
✓ should respond with {"echo":"abc"}
vows runner finish
✓ OK » 2 honored (0.024s)
这不是一个很好的解决方案,因为我正在修补node_modules
目录的内容。
Api-easy在内部使用誓言来控制其数据流。 我还使用誓言(直接或发誓)运行测试。 我已经启用了详细模式( vows -v --spec
),但是不足以分析阻止任务。 我只能看到成功或失败的测试。
我扩展了api-easy以提供超时请求。
这是我的请求请求: https : //github.com/flatiron/api-easy/pull/59
在幕后,easy-api使用了请求库 。 我的补丁程序使可从api-easy配置请求的超时选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.