Это новая проверка, введенная в v. 11 - она проверяет, есть ли ссылка на модуль, используемый в коде, с помощью оператора require (). Эта проверка, действительно, является избыточной для тестов мокко («описывать» и другие вещи не нужно явно требовать, поскольку они добавляются в глобальную область видимости Мокко). Вы можете отключить эту проверку или отключить ее для «описания», «ее» и т. Д. (См. https://www.jetbrains.com/webstorm/help/suppressing-inspections.html ). Другой вариант: создать настраиваемую область с исключенными вашими спецификационными файлами («Настройки» / «Внешний вид» и «Поведение / области действия»), затем выберите эту область для проверки «Отсутствует требование () оператора» (Настройки / Редактор / Инспекции / Javascript / Node.js).
Билет по теме: WEB-18768
Вкратце: Единственное абсолютно безопасное решение - разрешить main ()
или вашей функции потока возвращать
.
Стандарт C ++ гарантирует (3.6.3 / 1, 18.3), что деструкторы для глобальных объектов (включая статические объекты) будут вызываться при вызове exit ()
, однако он явно указывает, что деструкторы для локальные переменные не в этом случае будут вызываться. exit ()
вызовет любые функции, зарегистрированные в atexit ()
, а также сбросит и закроет все открытые потоки stdio (включая как минимум stdin
, ] stdout
, stderr
).
Вызов abort ()
гарантированно не вызовет локальные или глобальные деструкторы. Он также не будет вызывать функции, зарегистрированные с помощью atexit ()
, или сбрасывать потоки stdio.
Вызов любого примитива Win32, такого как ExitProcess ()
или ExitThread ()
, приведет к конечно, не вызывает деструкторы для локальных переменных и почти наверняка не будет вызывать деструкторы для глобальных объектов или любые функции, зарегистрированные с помощью atexit ()
. Вызывать эти функции непосредственно в программе C ++ не рекомендуется - в основном, эти функции Win32 и библиотека времени выполнения C ++ ничего не знают друг о друге. Фактически, даже документация MSDN для ExitThread ()
советует, чтобы программы на C ++ возвращались из функции потока вместо вызова ExitThread ()
.
См. Исходный код ExitProcess () (размещен на compuserve, usenet)