Тесты мокко не пройдены, когда Wi-Fi отключен - PullRequest
0 голосов
/ 11 января 2020

У меня есть несколько тестов мокко, которые завершаются без ошибок при подключении к Wi-Fi. Я запускаю тесты с помощью команды:

./node_modules/.bin/mocha --recursive -R spec path/to/bootstrap.integration.js path/to/testfile.test.js

Когда я отключаю соединение Wi-Fi, те же тесты не проходят до bootstrap с этой ошибкой:

Uncaught Error: ENOENT: no such file or directory, open '/etc/resolv.conf'

Я на самом деле подключитесь к inte rnet через vpn и когда vpn отключен, но wifi все еще включен и подключен, все тесты проходят. Брандмауэр разрешает только исходящие соединения через vpn.

При выполнении кода в отладчике выдается ошибка сразу после очистки базы данных (mongodb).

Соответствующий код, который вызывается в файле bootstrap до:

  function emptyCollection(collectionName, callback) {
    debug(`emptying collection: ${collectionName}`);

    models[collectionName].deleteMany({}, function(err, result) {
      if (err) { // <--- Never reached when Wifi is disconnected
        return callback(err);
      }
      debug(`emptied collection: ${collectionName}`);
      return callback(null, result);
    });
  }

  debug('emptying all collections...');

  async.map(Object.keys(models), emptyCollection, function(err, results) {
    if (err) { // <--- Never reached when Wifi is disconnected
      return cb(err);
    }
    debug('emptied all collections');
    return cb();
  });

Ни один из обратных вызовов deleteMany никогда не достигается при отключении Wi-Fi. Обратный вызов asyn c .map также никогда не достигается.

Я пытался найти способ установить точку останова при открытии файла /etc/resolv.conf, чтобы я мог определить, какая часть кода пытается прочитать файл, но я не нашел способа сделать это.

Я смотрю на это часами, у меня нет идей.

Есть ли у кого-нибудь совет по устранению неполадок?

[Обновление: я ищу совет по устранению неполадок, определяющий c к проблеме, описанной выше]

1 Ответ

0 голосов
/ 11 января 2020

Если ваши тесты зависят от Wi-Fi или каких-либо сетевых вызовов, значит, вы не пишете свои тесты правильно. Прочитайте это - ПЕРВЫЙ принцип

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