2017-03-22 9 views
0

私はサービスリクエストをノックしましたが、この場合ノックエラー(ノック:リクエストPOSTに一致しません)が必要ですが、応答がうまくいくと思います。なぜだろうか!body、time、timeoutが一致しない場合、nock照合要求がなぜ発生しますか?

nock(`http://localhost`, { 
       reqheaders: { 
        'Content-Type': 'application/json' 
       } 
      }) 
      .post('/') 
      .reply(201, function() { 
       return fs.readFileSync(`./data/mock-response.json`, 'utf8'); 
      }); 

と実際のサービスコールは

request(
    url: 'http://localhost/', 
    time:true, 
    timeout: 5000, 
    method: 'POST', 
    headers: { 
     Content-Type: 'application/json 
    }, 
    body: { 
     test:'test'} 

)私の右の息子を返し矢筈 体、時間、タイムアウト まだnocksと、次のパラメータに一致しない

アムです

答えて

0

nockオブジェクトにbodyを指定する必要があります。そうしないと、 URLと動詞に基づいてそれを解釈します。

official nock documentationによれば、一致させるためには本文を指定する必要があります。

あなたの矢筈オブジェクトは、次のようになります

nock(`http://localhost`, { 
    reqheaders: { 
    'Content-Type': 'application/json' 
    } 
}) 
.post('/', { 
    test: 'test' 
}) 
.reply(201, function() { 
    return fs.readFileSync(`./data/mock-response.json`, 'utf8'); 
}); 
+0

はあまりにも私の理解のthats、私は身体なしで上記の持っている私に応答を返しているものは何でも、私を混乱させているものthatsの。なぜ私の例がNOCKを投げていないのですか? – binndur

関連する問題