繁体   English   中英

如何调试悬挂式api-easy(或誓言)测试?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM