У меня есть несколько тестов мокко, которые завершаются без ошибок при подключении к 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 к проблеме, описанной выше]