簡體   English   中英

用nock中的不同動詞攔截所有請求

[英]Intercept all requests with different verbs in nock

這就是我的一個攔截函數現在的樣子:

interceptWithError() {
  nock(baseUrl)
    .get(/.*/)
    .replyWithError(500);

  nock(baseUrl)
    .put(/.*/)
    .replyWithError(500);

  nock(baseUrl)
    .post(/.*/)
    .replyWithError(500);

  nock(baseUrl)
    .delete(/.*/)
    .replyWithError(500);
}

我想避免重復,並通過做這樣的事情給它更多的靈活性:

interceptWithError(params) {
  const verb = params && params.verb;
  const stat = params && params.stat;

  return nock(baseUrl)
    .[verb]    // something like this!!!
    .replyWithError(stat)
}

有辦法嗎?

這就是我想出來的:)

baseNock(url) {
  return this.nock(url)
    .replyContentLength()
    .defaultReplyHeaders({ 'Content-Type': 'application/json' });
}

interceptWithError(verbCodeMap) {
  const verbs = (verbCodeMap && Object.keys(verbCodeMap))
    || ['post', 'get', 'put', 'delete'];

  return verbs.map(verb => 
    baseNock(someUrl)[verb](/.*/)
      .replyWithError((verbCodeMap && verbCodeMap[verb]) || 500));    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM