javascript node.js mocha webstorm

javascript - La descripción de Mocha "falta() falta" en WebStorm 11



node.js (3)

Actualmente hay un error en Webstorm 2017.3 que impide la instalación de bibliotecas de Javascript a través de ''Preferencias | Idiomas y Frameworks | JavaScript | Bibliotecas | Método de descarga e instalación.

Se está rastreando aquí, y el último EAP (Vista Previa de Acceso Temprano), (Webstorm 2017.3.2 en el momento de la escritura) soluciona el problema. https://youtrack.jetbrains.com/oauth?state=%2Fissue%2FWEB-29725

Golpeé mi cabeza contra la pared con esto durante horas, espero que esto ayude a alguien más.

Acabo de instalar WebStorm 11 y creé un nuevo proyecto, sin embargo, WebStorm dice que se require() un require() para el método de describe :

He agregado la biblioteca de mocha de tipos definitivamente y el ámbito es para el directorio de prueba (en el que se encuentra este archivo).


Edición: Como se señaló en los comentarios, el problema real abordado en esta pregunta es en realidad un error en IntelliJ 15 / WebStorm 11 (consulte WEB-18768 ). Dejo la respuesta a continuación porque muchas personas vienen aquí cuando buscan la solución provista.

La respuesta aceptada es un enfoque de martillo para resolver el problema. Una mejor solución es habilitar la biblioteca mocha-DefinitelyTyped para el directorio de prueba. Esto no solo eliminará la inspección errónea, sino que también proporcionará un mejor resaltado de sintaxis.

De la descripción de la inspección:

Al usar bibliotecas que definen sus propios símbolos globales fuera de su código visible de JavaScript (por ejemplo, describe() en Mocha), se recomienda que agregue el archivo de definición de tipo TypeScript correspondiente como una biblioteca de JavaScript en Preferencias | Idiomas y Frameworks | JavaScript | Bibliotecas

Vaya a la sección de preferencias mencionada anteriormente, ''Preferencias | Idiomas y Frameworks | JavaScript | Bibliotecas '', y verifique si la biblioteca mocha-DefinitelyTyped está en la lista.

Si mocha-DefinitelyTyped no está en la lista, haga clic en el botón Download… , busque ''mocha'' en la sección ''Talones de la comunidad de TypeScript'', selecciónelo y haga clic en Descargar e instalar:

La biblioteca se llama solo ''mocha'' en la lista, pero se convertirá en ''mocha-DefinitelyTyped'' una vez importada.

Una vez que tenga mocha-DefinitelyTyped, desactive su casilla de verificación Habilitado. Dejarlo completamente verificado lo habilitaría globalmente, incluso fuera de las pruebas, lo que sería inexacto. En su lugar, administraremos su alcance para que se habilite solo en su directorio de prueba. Haga clic en el botón Manage Scopes… , encuentre su directorio de prueba, haga clic en la columna Biblioteca y seleccione la entrada ''mocha-DefinitelyTyped''. Vea la captura de pantalla a continuación.


Esta es una nueva inspección introducida en el v. 11: verifica si se hace referencia al módulo utilizado en el código a través de la declaración require (). Esta inspección, de hecho, es redundante para las pruebas de mocha ("describir" y otras cosas no necesitan ser requeridas explícitamente, ya que son agregadas al alcance global por Mocha). Puede inhabilitar esta inspección o suprimirla para ''describir'', ''it'', etc. (consulte https://www.jetbrains.com/webstorm/help/suppressing-inspections.html ). Otra opción: cree un ámbito personalizado con sus archivos de especificaciones excluidos (Configuración / Apariencia y Comportamiento / Ámbitos), luego elija este ámbito para la inspección ''Falta información de requerimiento ()'' (Configuración / Editor / Inspecciones / Javascript / Node.js).

Boleto relacionado: WEB-18768