Mocha тесты резко останавливаются с: Не удается найти модуль 'pg-native' - PullRequest
0 голосов
/ 28 августа 2018

Наши тесты мокко внезапно прекращаются с этим сообщением на консоли:

Cannot find module `pg-native`

Трассировка стека не отображается, mocha не отображает нормальный результат теста. Тест немедленно останавливается.

Если я отключу данный тест, все тесты будут выполняться в обычном режиме.

Установка pg-native устраняет ошибку, но вместо этого mocha просто зависает в этой точке.

1 Ответ

0 голосов
/ 28 августа 2018

В соответствии с этой проблемой эта проблема является результатом запуска чего-то, что проходит секуляризацию записей в глубину.

например

expect(myObject).to.deep.equal(mySequelizeInstance);

меняется на

expect(myObject).to.deep.equal(mySequelizeInstance.toJSON());

решит это

Почему?

Есть две причины для вышеуказанного поведения

  1. Секвелирование записей переопределяет собственные методы получения , поэтому при обходе определенных свойств выполняется код. В этом случае одно из этих свойств попадает в кроличью нору, что приводит к выполнению require('pg-native') (и, следовательно, к ошибке)
  2. Объект содержит циклические ссылки, и поэтому код зависает, пересекая бесконечные ссылки. Оставшись достаточно долго, он в конечном итоге потерпит неудачу, когда исчерпает стек.
...