簡體   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