0

api-easyを使用して、REST API のエンドツーエンド テストを実装しています。ライブラリ自体は非常に優れていますが、失敗したテストのデバッグは予想よりも難しく、適切なアプローチを使用していない可能性があります。

私はこの問題を抱えていました: テストはサーバーに "GET" を送信しましたが、現在 OutOfMemory のために応答していませんでした。リクエストは永久にブロックされましたが、成功または失敗したテストのみが出力されるため、出力には表示されませんでした。

すべてのリクエストを標準出力にダンプすることは可能ですか? タイムアウト オプションは、ブロッキング テストを中止する (そして失敗させる) のにも役立ちます。

私の現在のアプローチは、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 は内部的にvowを使用してデータ フローを制御します。また、誓いを使用してテストを実行します (直接または grunt-vows を使用)。詳細モード ( vows -v --spec) を既に有効にしていますが、ブロッキング タスクを分析するには十分ではありません。成功または失敗したテストしか表示されません。

4

1 に答える 1