ReferenceError выбрасывается в одну среду, но не в другую. Использование узла 8.14 - PullRequest
0 голосов
/ 18 апреля 2019

Не уверен, подходит ли это здесь на SO - если нет, то, пожалуйста, посоветуйте, где такой вопрос "devops" мог бы быть лучше.

В любом случае:

У меня есть сценарий, при котором среда тестирования проходит все тесты. Проблема в том, что среда развертывания жалуется на неопределенные переменные.

Где-то в моем коде есть что-то вроде следующего:

a_function(an_arg) {
   return do_the_thing(an_arg, my_undefined_variable)
}

Функция do_the_thing не принимает второй аргумент. Теперь очевидно, что my_undefined_variable не существует (он также не входит в более широкую область), и этот код неверен.

Однако эта функция полностью покрыта нашими тестами mocha, которые выполняются в контейнере на основе circleci/node:8.14 в наших средах CI. Тесты также проходят локально, где я бегу node:8.11.

В развертывании используется сборка образа докера поверх FROM node:8.14. Т.е. почти точно соответствует среде CI (и близко к локальной среде).

Однако при развертывании выдается ReferenceError:my_undefined_variable is node defined.

Я знаю, что это легко исправить, но мне любопытно, что может быть источником моей среды развертывания и среды тестирования, имеющей разные мнения о достоверности этого кода? Тем более что они, похоже, работают на совместимых версиях Node.

Любые идеи приветствуются и заранее благодарны.

...