nockBack не может записать какие-либо приспособления - PullRequest
0 голосов
/ 26 мая 2020

Я не могу получить nockBack для записи каких-либо приборов, хотя он должен это сделать. Мой тестовый код выглядит следующим образом:

describe("#searchForProjects", function () {
beforeEach(function () {
  nock.back.setMode("record");
  this.con = getTestConnection(ApiType.Production);
});

it("finds a home project", async function () {
  const { nockDone, context } = await nock.back("search_for_project.json");

  await searchForProjects(this.con, "home:dancermak", {
    idOnly: true,
    exactMatch: true
  }).should.eventually.deep.equal([
    {
      name: "home:dancermak",
      apiUrl: normalizeUrl(ApiType.Production)
    }
  ]);

  nockDone();
});

});

Просто запустите этот конкретный c результаты теста в NetConnectNotAllowedError: Nock: Disallowed net connect for $URL.

Я попытался включить a nock.restore() перед всем тестом, в результате чего запрос проходит, но nock ничего не записывает.

Базовый код использует модуль https из nodejs, так что это не должно не проблема?

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 22 июля 2020

Мне, наконец, удалось взломать это, и решение очень простое: запись должна быть активирована до создания любых http(s).request вызовов. В моем случае это было немного скрыто, так как у меня есть класс, который при создании сохраняет либо http.request, либо https.request в переменной-члене. Активация рекордера заранее решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...